Введение в Perl
Шрифт:
sub new_sub
{ local *IN; # Ссылка на файл
open (IN, «test») || return undef; # Открыть файл. Возврат при ошибке.
.........
return;
}
Более подробно это описано в главе Ссылки.
Встроенные переменные Перл
Описанные в данной главе переменные имеют в Перл специальные значения.
Они обозначаются несколько непривычно для «глаза» программистов
use English;
Точно так же если вы захотите пользоваться переменными и методами текущего указателя файлов вы можете написать:
use FileHandle;
после этого можно можно просто писать:
метод указатель выражение
или
указатель -> метод(выражение)
Ниже приводятся имена как в короткой так и в длинной (словесной) форме.
Некоторые из встроенных переменных имеют доступ тоько на чтение поэтому изменить их значение просто не возможно.
$_
$ARG
Переменная – по умолчанию для операторов ввода и поиска. То есть если в качестве аргумента не указана никакая переменная то используется именно эта.
$цифра
Содержит найденные подстроку в последнем поиске когда шаблон содержит метасимволы в круглых скобках. Цифра в данном случае это номер скобок. Первая подстрока имеет номер 1.
$&
$MATCH
Найденная подстрока в последнем поиске по шаблону.
$`
Подстрока предшевствующая найденной подстроке.
$'
$POSTMATCH
Подстрока последующая за найденной подстрокой.
$+
$LAST_PAREN_MATCH
Подстрока найденная в поиске с выбором по «или».
$*
$MULTILINE_MATCHING
Если значение этой переменной установить равным 1 то переменная в которой осуществляется поиск будет считаться многосторочной т.е. содержащей символы '\n' – перевод строки. Если значеие равно 0 то переменная считается однострочной. В Перл версии 5 и выше не рекомендуестя использовать эту переменную.
$.
$INPUT_LINE_NUMBER
$NR
Номер прочитанной строки последнего оператора ввода. Закрытие файла вызывает очистку значения этой переменной.
$/
$RS
$INPUT_RECORD_SEPARATOR
Символ – признак конца входной строки. По умолчанию это '\n'
$|
$OUTPUT_AUTOFLUSH
Если
$,
$OFS
$OUTPUT_FIELD_SEPARATOR
Символ добавляемый оператором print после каждого элемента из списка параметров.
$\
$ORS
$OUTPUT_RECORD_SEPARATOR
Символ добавляемый print после вывода всех параметров.
$"
$LIST_SEPARATOR
Анологичен «$,» но добавляется после каждого элемента массива указаноого в «....».
$;
$SUBSEP
$SUBSCRIPT_SEPARATOR
Символ – разделитель для эмуляции многомерных массивов в хеш массивах. По умолчанию '\034'.
$#
$OFMT
Формат по умолчанию для вывода чисел.
$%
$FORMAT_PAGE_NUMBER
Формат по умолчанию для вывода номеров страниц.
$=
$FORMAT_LINES_PER_PAGE
Длина одной страницы. По умолчанию 60 строк.
$-
$FORMAT_LINES_LEFT
Количество оставшихся строк на странице.
$~
$FORMAT_NAME
Имя формата текущего вывода. По умолчанию имя указателя.
$^
$FORMAT_TOP_NAME
Имя текущего формата для заголовка страницы.
$:
$FORMAT_LINE_BREAK_CHARACTERS
Символы переноса строки для многострочных полей. В строке формата такие поля начинаются символом '^'. По умолчанию '\n-'.
$^L
$FORMAT_FORMFEED
Символ перевода формата ( смены листа). По умолчанию '\f'.
$^A
$ACCUMULATOR
Текущее значение аккумулятора функции write для format. Значение этой переменной можно увидеть только при использовании функции formline т.к. write очищает ее после каждого вывода.
$?
$CHILD_ERROR
Данная перменная содержит статус завершения таких процессов как: закрытие pipe, завершение функций system, wait и `...`.
$!
$ERRNO
$OS_ERROR
В числовом контексте возвращает код ошибки errno.
В строковом – строку сообщения об ошибке. Можно принудительно присвоить этой перменной код ошибки что бы получить системное сообщение для данного кода или установить код завершения для функции die.
$@
$EVAL_ERROR
Сообщение об ошибке последней команды eval.
$$
$PID