"Дмитрий Леонов. Использование Perl в интернет-технологиях" - читать интересную книгу автора

@a = FILE>; # Cкладывает все строчки файла в массив строк. Может
# оказаться не самым лучшим решением, если файл имеет
# большой размер

Для вывода в открытый файл его дескриптор записывается сразу после
ключевого слова print. Запятой между дескриптором и другими аргументами быть
не должно:
print FILE "some text\n";
Для проверки существования файла используется операция "-e": if(-e
$filename){...}. Существуют также операции для проверки, доступен ли этот
файл для чтения (-r), доступен ли для записи (-w), является ли он каталогом
(-d) или обычным файлом (-f) и т.д.
Весьма удобной является встроенная в Perl поддержка DBM-файлом,
позволяющая связать ассоциативный массив с DBM-базой. Родная для Unix-систем
библиотека DBM предоставляет в распоряжение программиста простую и удобную
базу данных. Существуют различные реализации DBM, различающиеся возможным
размером записи, базы, скоростью работы и т.п. В простейшем варианте связь
хэша с DBM-файлом осуществляется функцией dbmopen, а закрывается DBM-файл
функцией dbmclose:
dbmopen(%A, "basename", 0644)
dbmclose(%A);
Третий параметр функции dbmopen указывает, с какими правами доступа
создавать файл, если его не существует. Если нет необходимости создавать
файл, вместо этого параметра можно передать undef.
Для более полной информации воспользуйтесь командой perldoc
AnyDBM_File.u>/u>


name=13>Регулярные выражения
Регулярные выражения хорошо знакомы опытным пользователям Unix, они
используются для обработки текста во многих Unix-утилитах, таких как grep,
awk, sed, в редакторах (vi, emacs), в некоторых командных оболочках и т. д.
Регулярное выражение представляет собой образец, или шаблон, который
сопоставляется со строкой. Это сопоставление, или поиск по шаблону, может
закончиться успехом, или неудачей. Кроме того, совпадающий образец может
быть заменен другой строкой или скопирован во внешнюю переменную.
По умолчанию регулярные выражения используют встроенную переменную $_,
но можно сопоставить с шаблоном любую другую скалярную переменную с помощью
операторов =~ и !~:
/текст/; # возвращает истину, если в $_ содержится
# подстрока "текст"
$s =~ /текст/; # возвращает истину, если в $s содержится
# подстрока "текст"
$s !~ /текст/; # возвращает истину, если в $s нет подстроки "текст"

Для замены подстроки, соответствующей шаблону, используется запись вида
s/текст1/текст2/;
Возможно использование модификаторов, например:
/текст/i; # игнорировать регистр
s/$s/текст/g; # производить глобальную замену