Perl - специальный справочник


           

Perl. Специальный справочник - стр. 167


Во-вторых, надо помнить, что обращение к файлам наиболее часто приводят к ошибкам, — поэтому наиболее важные операции стоит сопровождать конструкцией «or die» или чем-то подобным. Наконец, учтите, что Unix использует косую черту (/) для разделения каталогов в полном пути к файлу. Если ваша операционная система (Windows или DOS) использует обратную косую черту (\), не забудьте, что для Perl в строках, ограниченных двойными кавычками, это специальный символ и его надо набирать с помощью escape-последовательности (\\):

open (FILEHANDLE, "tmp\\file.txt")

or die ("Cannot open file.txt");

while (<FILEHANDLE>) {

print;

}

Заметьте также, что, поскольку Perl так сильно ориентированя именно на файлы и работу с ними, материал, относящийся к данной главе, можно найти и в других разделах книги: в главе 4 — операторы работы с файлами типа -X, в главе 9 — специальные переменные (например, $/ — разделитель входных записей, $, — разделитель выходных записей, $| — буферизация вывода, и т. д.). Наконец, в главе 10 разбираются функции, упаковывающие данные в записи фиксированного размера, что удобно для файлов с прямым доступом к данным (функции pack, unpack и vec).

Наконец, не забывайте, что одно и то же действие можно выполнить разными способами. Если вы не можете найти нужного инструмента среди встроенных средств работы с файлами, его можно отыскать в другом месте. Например, среди встроенных функций нет функции, позволяющей копировать файлы, но в модуле IO::File есть метод copy, прекрасно подходящий именно для этой цели. Наконец, если не удается найти то, что вам надо среди знакомых инструментов, проверьте многочисленные функции модуля POSIX.

Непосредственные решения

open — открытие файл

Чтобы открыть файл, используется функцию open:

open дескриптор, выражение

open дескриптор

Эта функция открывает файл с заданным именем и создает указанный дескриптор файла. После ее вызова дескриптор может использоваться для ссылок на файл в самых разных операциях. Если имя не задано, Perl пытается открыть файл с именем, совпадающим с именем дескриптора.




Содержание  Назад  Вперед