Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Perl


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Perl

Выпуск № 39
от 24.04.2006, 09:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 128, Экспертов: 14
В номере:Вопросов: 1, Ответов: 1


Вопрос № 40704: Недавно задавал вопрос, появилось время дошел до реализации и появилась небольшая проблема. Вообщем необходимо открывать файл, читать его построчно, если попалась строка для поиска, заменить ее другой строкой. Проблема такого рода, что не получае...

Вопрос № 40.704
Недавно задавал вопрос, появилось время дошел до реализации и появилась небольшая проблема.
Вообщем необходимо открывать файл, читать его построчно, если попалась строка для поиска, заменить ее другой строкой. Проблема такого рода, что не получается заменить строку. Вообще как это лучше сделать, как учили на 1-ых курсах, писать все в новый файл с изменениями, старый затирать, новый переименовать или все таки, как мне больше нравится. А мне болоше нравится такой вариант, что я прочитал строку, если заменял что-нибудь, то и строку в соотвествующем файле изменить. Как это реализовать на Perl ? Есть ли варианты кроме seek ?

В приложение добавил прогу. В ней тоже проблемка есть, т.е. не в ней а в функции ReplaceInFile. Если не использовать замену s/str/str, а просто писать /str/, то perl говорит Ok, если же использовать замену он ругается Replacment not terminated. Я не понимаю почему.

Приложение:

Отправлен: 19.04.2006, 08:44
Вопрос задал: RedDevil (статус: 9-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Thomas Arden
Здравствуйте, RedDevil!
Правильно интерпретатор говорит, что не завершена. Конструкция замены должна заканчиваться слэшем (в данном случае), т.е., s/(s|A)$find_str(s|)/$rep_str/. у вас нет последнего слэша.
Ответ отправил: Thomas Arden (статус: 1-ый класс)
Ответ отправлен: 20.04.2006, 11:05
Оценка за ответ: 5
Комментарий оценки:
Спасиб, а регулярное выражение по памяти составлял, глянул в одну и эл. книг, а там была замена без последнего /. А книге сканированная опечаток там туева куча.

Все теперь сделал, вторая полезная прога на perl-e теперь работает :)


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.30 (beta) от 09.04.2006
Яндекс Rambler's Top100

В избранное