8.7. Приложение № 4. Операторы и функции файлового ввода-вывода на языке Perl
ФУНКЦИЯ |
CHDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
chdir [ВЫРАЖЕНИЕ], где ВЫРАЖЕНИЕ - необязательный параметр, задающий имя нового каталога; |
НАЗНАЧЕНИЕ: |
Изменение текущего рабочего каталога на дереве каталогов; |
ОПИСАНИЕ: |
Функция изменяет текущий рабочий каталог на каталог, определяемый значением параметра: ВЫРАЖЕНИЕ. Если параметр опущен, домашний каталог становится текущим. Возвращает значение "истина" в случае успешного выполнения операции замены текущего каталога и "ложь" в противном случае. Каталог, указанный в строке ВЫРАЖЕНИЕ, должен существовать в дереве каталогов компьютера; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"Истина" в случае успешной смены каталога или "Ложь" в противном случае; |
ФУНКЦИЯ |
CLOSE |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
где ДЕСКРИПТОР - имя переменной - дескриптора файла; |
НАЗНАЧЕНИЕ: |
Закрывает файл либо программный канал, связанный с его дескриптором; |
ОПИСАНИЕ: |
Закрывает файл либо программный канал, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР. Возвращает булево значение "истина", если успешно очищен буфер и закрыт системный файловый дескриптор. Без параметра закрывает файл или программный канал, ассоциированный с текущим дескриптором, выбранным функцией select() ; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"Истина" если файл или канал, ассоциированный с дескриптором, успешно закрыт, и "Ложь" в противном случае; |
ФУНКЦИЯ: |
CLOSEDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
closedir ДЕСКРИПТОР, где ДЕСКРИПТОР - дескриптор закрываемого каталога; |
НАЗНАЧЕНИЕ: |
Функция закрывает каталог; |
ОПИСАНИЕ: |
Закрывает каталог, ассоциированный с дескриптором каталога, заданного параметром ДЕСКРИПТОР. Возвращает булево значение "истина", если каталог успешно закрыт; |
ФУНКЦИЯ: |
GLOB |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
glob ВЫРАЖЕНИЕ, где ВЫРАЖЕНИЕ - шаблон для поиска файлов; |
НАЗНАЧЕНИЕ: |
Функция возвращает список найденных в текущем каталоге файлов, удовлетворяющих заданному шаблону; |
ОПИСАНИЕ: |
Возвращает найденные в текущем каталоге файлы, имена которых удовлетворяют заданному шаблону (с использованием метасимволов UNIX *, ?). Значением выражения должна быть строка, содержащая шаблон имён файлов; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Список найденных файлов, удовлетворяющих шаблону поиска; |
ФУНКЦИЯ: |
MKDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
mkdir КАТАЛОГ, РЕЖИМ, где
-
КАТАЛОГ - имя нового каталога;
-
РЕЖИМ - режим доступа к созданному каталогу;
|
НАЗНАЧЕНИЕ: |
Создание каталога с новым именем; |
ОПИСАНИЕ: |
Создание нового каталога с именем, заданным параметром: КАТАЛОГ, и режимом доступа, определяемым параметром: РЕЖИМ. При успешном создании каталога возвращает булево значение "истина", в противном случае - "ложь" и в переменную $! заносится сообщение об ошибке; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"Истина" в случае успешного создания каталога, "Ложь" в противном случае; |
ФУНКЦИЯ: |
OPEN |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
open ДЕСКРИПТОР, РЕЖИМ, ИМЯ_ФАЙЛА
open ДЕСКРИПТОР[,ВЫРАЖЕНИЕ]
где
-
ДЕСКРИПТОР - имя переменной-дескриптора файла;
-
РЕЖИМ - режим открытия файла (для чтения, записи и добавления);
-
ИМЯ_ФАЙЛА - имя открываемого файла, с которым будет связан дескриптор;
-
ВЫРАЖЕНИЕ - строка текста с именем и режимом открытия файла;
|
НАЗНАЧЕНИЕ: |
Открытие файла для чтения или записи; |
ОПИСАНИЕ: |
Первая форма открывает файл, имя которого является значением параметра: ИМЯ_ФАЙЛА, в режиме, заданным строковым значением параметра: РЕЖИМ, и связывает его с дескриптором, определённым параметром: ДЕСКРИПТОР. При использовании второй формы, в случае присутствия параметра ВЫРАЖЕНИЕ, оно должно вычисляться как строка, в которой определены и режим открытия файла, и его имя. Если во второй форме параметр: ВЫРАЖЕНИЕ не задан, то вместо него используется содержимое скалярной переменной с тем же именем, что и дескриптор: ( $ДЕСКРИПТОР ); |
Допустимые режимы открытия файлов приведены ниже:
-
"<" - "ЧТЕНИЕ" - открытие файла в режиме чтения;
-
">" - "ЗАПИСЬ" - открытие файла в режим записи. При этом старое содержимое файла теряется;
-
">>" - "ДОБАВЛЕНИЕ" - открытие файла в режиме дополнения. Новые данные записываются в конец существующего файла;
ЗАМЕЧАНИЕ: С помощью функции open можно переназначать стандартные потоки ввода-вывода STDIN, STDOUT, STDERR. Например, конструкция:
-
open( STDIN, "in.log" ) - переназначает стандартный поток ввода на файл in.log (для чтения);
-
open( STDOUT, ">output.txt" ) - перенаправляет стандартный поток вывода в файл output.txt (старый файл при этом затирается);
-
open( STDERR, ">error.log" ) - перенаправляет стандартный поток ошибок в файл error.log (старый файл при этом затирается);
Перенаправлять потоки в программе можно один раз, и возврат к прежним значениям не возможен до конца выполнения программы на языке Perl;
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"Истина" - в случае успешного открытия файла, "Ложь" - в противном случае; |
ФУНКЦИЯ: |
OPENDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
opendir ДЕСКРИПТОР, ВЫРАЖЕНИЕ, где
-
ДЕСКРИПТОР - имя переменной - дескриптора каталога;
-
ВЫРАЖЕНИЕ - строка текста, определяющая путь и имя открываемого каталога;
|
НАЗНАЧЕНИЕ: |
Открывает каталог для чтения и изменения; |
ОПИСАНИЕ: |
Открывает каталог, имя которого равно значению параметра: ВЫРАЖЕНИЕ, и связывает его с дескриптором, определённым параметром: ДЕСКРИПТОР. Имена дескрипторов каталога хранятся в собственном пространстве имён Perl. |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"Истина" - в случае успешного открытия каталога, "Ложь" - в противном случае; |
ФУНКЦИЯ: |
RENAME |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
rename СТАРОЕ_ИМЯ, НОВОЕ_ИМЯ, где
-
СТАРОЕ_ИМЯ - старое имя файла;
-
НОВОЕ_ИМЯ - новое имя файла;
|
НАЗНАЧЕНИЕ: |
Функция переименовывает файл; |
ОПИСАНИЕ: |
Переименовывает файл. Возвращает 1 в случае успешного переименования и ноль в противном случае. |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"1" - файл успешно переименован, "0" - ошибка операции переименования; |
ФУНКЦИЯ: |
RMDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
где ИМЯ_КАТАЛОГА - имя удаляемого каталога из дерева каталога системы; |
НАЗНАЧЕНИЕ: |
Удаляет каталог из системы; |
ОПИСАНИЕ: |
Удаление каталога, заданного параметром: ИМЯ_КАТАЛОГА. Каталог удаляется, только если он пустой. Возвращает 1 в случае успешного удаления или ноль в противном случае, сохраняя в переменной $! сообщение об ошибке. Если параметр опущен, то содержимое специальной строки $_ используется как имя каталога. |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"1" - в случае успешного удаления каталога, "0" - каталог удалить не удалось; |
ФУНКЦИЯ: |
READDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
readdir ДЕСКРИПТОР, где ДЕСКРИПТОР - дескриптор каталога; |
НАЗНАЧЕНИЕ: |
Читает имя (имена) элемента каталога; |
ОПИСАНИЕ: |
В скалярном контексте читает следующее имя элемента каталога, связанного с дескриптором каталога: ДЕСКРИПТОР - функцией opendir. В списковом контексте возвращает имена всех оставшихся элементов (файлов и каталогов). Если больше не осталось прочитанных элементов, возвращает неопределённое значение в скалярном контексте и пустой список в списковом контексте; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
имя элемента каталога или оставшиеся в каталоге имена. Возвращает неопределённое значение в случае отсутствия не прочтённых элементов каталога; |
ФУНКЦИЯ: |
REWINDDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
rewinddir ДЕСКРИПТОР, где ДЕСКРИПТОР - дескриптор каталога; |
НАЗНАЧЕНИЕ: |
Устанавливает текущую позицию чтения каталога на начало; |
ОПИСАНИЕ: |
Устанавливает текущую позицию каталога, связанного с дескриптором: ДЕСКРИПТОР, на начало; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет; |
ФУНКЦИЯ: |
SEEK |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
seek ДЕСКРИПТОР, ПОЗИЦИЯ, ПОЛОЖЕНИЕ, где
-
ДЕСКРИПТОР - дескриптор обрабатываемого файла;
-
ПОЗИЦИЯ - смещение позиции файла относительно положения, заданного параметром: ПОЛОЖЕНИЕ ;
-
ПОЛОЖЕНИЕ - числовая константа, задающая точку начала отсчёта смещения:
-
"0" - начало файла,
-
"1" - текущая позиция,
-
"2" - конец файла;
|
НАЗНАЧЕНИЕ: |
Устанавливает текущую позицию файла для чтения и записи; |
ОПИСАНИЕ: |
Устанавливает текущую позицию файла, связанного с дескриптором: ДЕСКРИПТОР, смещённой на заданное параметром: ПОЗИЦИЯ - число байтов относительно положения, заданного параметром: ПОЛОЖЕНИЕ (0 - начало файла, 1 - текущая позиция, 2 - конец файла). Возвращает 1 при успешном выполнении операции позиционирования и 0 в противном случае; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"1" - при успешном выполнении операции позиционирования, "0" - в противном случае; |
ФУНКЦИЯ: |
SEEKDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
seekdir ДЕСКРИПТОР, ПОЛОЖЕНИЕ, где
-
ДЕСКРИПТОР - дескриптор каталога;
-
ПОЛОЖЕНИЕ - смещение каталога относительно его начала;
|
НАЗНАЧЕНИЕ: |
Функция устанавливает текущую позицию в каталоге для чтения функцией readdir ; |
ОПИСАНИЕ: |
Устанавливает текущую позицию в каталоге, связанном со своим дескриптором: ДЕСКРИПТОР, для функции: readdir. Параметр: ПОЛОЖЕНИЕ - должен быть значением, возвращаемым функцией: telldir ; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет; |
ФУНКЦИЯ: |
SELECT |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
select [ДЕСКРИПТОР], где ДЕСКРИПТОР - связанный с переменной дескриптор файла; |
НАЗНАЧЕНИЕ: |
Возвращает и устанавливает дескриптор текущего файла (потока) вывода; |
ОПИСАНИЕ: |
Возвращает дескриптор текущего установленного файла вывода. Если задан параметр: ДЕСКРИПТОР, делает файл, связанный с данным дескриптором, текущим файлом вывода. Это приводит к тому, что функции print и write без дескрипторов будет осуществлять вывод именно в этот файл; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Дескриптор текущего файла вывода; |
ФУНКЦИЯ: |
SYSCALL |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
syscall СПИСОК, где СПИСОК - строка вместе с системной командой на выполнение; |
НАЗНАЧЕНИЕ: |
Функция осуществляет вызов системной команды; |
ОПИСАНИЕ: |
Осуществляет вызов системной команды, заданной первым элементом параметра: СПИСОК ; остальные элементы списка передаются этой команде в качестве параметров. В случае неуспешного выполнения системной команды возвращает -1, и в переменной $! выдаёт информацию об ошибке |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
"-1" - неуспешное выполнение команды, "0" и другие коды - в случае успеха; |
ФУНКЦИЯ: |
TELL |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
tell [ДЕСКРИПТОР], где ДЕСКРИПТОР - дескриптор обрабатываемого файла; |
НАЗНАЧЕНИЕ: |
Возвращает текущую позицию файла; |
ОПИСАНИЕ: |
Возвращает текущую позицию в файле, связанном с дескриптором: ДЕСКРИПТОР. Если параметр опущен, то подразумевается файл, для которого была сделана последняя операция чтения; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Текущая позиция (смещение) файла относительно его начальной позиции; |
ФУНКЦИЯ: |
TELLDIR |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
telldir ДЕСКРИПТОР, где ДЕСКРИПТОР - дескриптор каталога; |
НАЗНАЧЕНИЕ: |
Возвращает текущую позицию в каталоге; |
ОПИСАНИЕ: |
Возвращает текущую позицию в каталоге, связанном с дескриптором: ДЕСКРИПТОР ; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Текущая позиция элементов в каталоге; |
ФУНКЦИЯ: |
TRUNCATE |
ОПРЕДЕЛЕНА В: |
Везде; |
СИНТАКСИС: |
truncate ДЕСКРИПТОР, ДЛИНА
truncate ВЫРАЖЕНИЕ, ДЛИНА
где
-
ДЕСКРИПТОР - дескриптор изменяемого файла;
-
ВЫРАЖЕНИЕ - строковая константа, определяющая изменяемый файл;
-
ДЛИНА - новая длина файла;
|
НАЗНАЧЕНИЕ: |
Изменяет длину файла; |
ОПИСАНИЕ: |
Изменяет длину файла, связанного с дескриптором: ДЕСКРИПТОР - или значением параметра: ВЫРАЖЕНИЕ, устанавливая его равным значению параметра ДЛИНА. Размер файла может быть увеличен или уменьшен; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Нет; |