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


           

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


Функция open возвращает ненулевое значение (соответствует условию истина), если файл успешно открыт, и неопределенное значение (соответствует условию ложь), если сделать этого не удалось. (Если в качестве файла открывается канал, то возвращаемое значение в случае успешного завершения работы функции — это идентификатор дочернего процесса.)

Имя файла может содержать дополнительные символы, указывающие, как именно следует открыть его:

Если имя имеет префикс < или не имеет префикса, файл открывается для чтения.

Если имя имеет префикс >, файл открывается для записи и полностью очищается (если он уже существует) или же создается новый файл.

Если имя имеет префикс >>, файл открывается для записи, а данные дописываются в его конец. Если файл не существует, создается новый.

Если имя имеет префикс +<, файл открывается для чтения и записи. Если файл существует, его содержимое сохраняется.

Если имя имеет префикс +>, файл открывается и для чтения и записи, однако, если он уже существует, то полностью очищается.

Если имя имеет префикс | или же перед ним стоит символ |, Perl рассматривает эту конструкцию как канал вывода, то есть как имя программы, которой на вход будут подаваться выводимые сценарием данные (подробнее см. главу 11).

Если имя имеет суффикс | или же после него стоит символ |, Perl рассматривает эту конструкцию как канал ввода, то есть как имя программы, вывод которой будет считываться сценарием в качестве данных (подробнее см. главу 11).

Если в качестве имени файла заданы конструкции |– или –|, порождается дочерний процесс, функция open возвращает его идентификатор , а операции ввода (–|) или вывода (|–) будут приводить к обмену информацией с дочерним процессом (подробнее см. главу 11).

Если в качестве имени файла задан дефис –, функция открывает стандартный поток ввода (обычно STDIN).

Если в качестве имени файла заданы символы >–, функция открывает стандартный поток вывода (обычно STDOUT).

Если выражение начинается с конструкции >&, то имя за ней интерпретируется либо как имя дескриптора файла Perl (если это текст), либо как дескриптор файла Unix (если это число).




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