WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Встроенные переменные Перл

Встроенные переменные Перл


Дата публикации: 17-03-2013

Описанные в данной главе переменныые имеют в Перл специальные значения. Они обозначаются несколько непривычно для "глаза" программистов т.к. состоят обычно только из дву символов причем первый это '$' символо с которого начинаются имена всех переменных и произвольный часто не буквенно-цифровой символ. Если вы хотите пользоваться их "нормальными" буквенными синонимами то вам нужно указать в начале программы:

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

Если присвоить этой переменной не нулевое значение то будет сброс буфера вывода после каждой операции вывода. Значение по умолчанию -0

$,
$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
$PROCESS_ID

Номер текущего процесса.

$<
$UID
$REAL_USER_ID

Реальный UID текущего процесса.

$>
$EUID
$EFFECTIVE_USER_ID

Эффективный UID текущего процесса.

$(
$GID
$REAL_GROUP_ID

Реальный GID текущего процесса.

$)
$EGID
$EFFECTIVE_GROUP_ID

Эффективный GID текущего процесса.

$O
$PROGRAM_NAME

Имя файла программы. Если этой переменной присвоить какое нибудь значение то его можно видеть в команде ps, что удобно для контроля за состоянием программы.

$[

Номер первого элемента массива или символа строки. Значение по умолчанию - 0.

$]
$PERL_VERSION

Строка сообщение версии Перл. Печатается по команде perl -v Применяется в программе для определения рабочей версии Перл. В числовом контексте это номер версии плюс номер модификации / 1000.

$^D
$DEBUGGING

Текущее значение ключа отладки '-D'.

$^F
$SYSTEM_FD_MAX

Номер максимального системного описателя файлов (system file descriptor). Обычно это 2.

$^I
$INPLACE_EDIT

Текущее значение inplace-edit возможности. Для отключения используйте undef.

$^P
$PERLDB

Внутренний флаг отладки. Применяется для того что бы отладчик не отслеживал самого себя.

$^T
$BASETIME

Время в секундах с начала 1970 года старта текущей программы.

$^W
$WARNING

Значение флага '-w'. true -если включено и false - выключено.

$^X
$EXECUTABLE_NAME

Команда запуска Перл. Аналогично argv[0] в С.

$ARGV

Имя текущего файла читаемого оператором '<>'.

@ARGV

Массив параметров строки запуска программы. Внимание! @#ARGV - меньше количества параметров на 1 т.к. $ARGV[0] это первый параметр (не имя программы).

@INC

Список директорий диска которые просматривает Перл для выполнения команд do, require или use.

%INC

Этот хеш содержит имена директорий для имен использованных файлов командами do или require. Ключ - имя файла, а значение - директория.

$ENV{выражение}

Хеш %ENV содержит значения переменных окружения. Изменение этих значений вызывает изменение окружения для процессов потомков.

$SIG{выражение}

Хеш %SIG содержит имена подпрограмм для системных сигналов таких как INT, QUIT, PIPE, ... Значение 'DEFAULT' - для системной обработки. 'IGNORE' - игнорировать данный сигнал.

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)
Октябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Боб Хейз:

    "Пятнадцать лет назад компании конкурировали друг с другом в цене. Сейчас - это качество. Завтра - это дизайн."

    Опрос

    Какими социальными сетями Вы пользуетесь?

    Vkontakte.ru
    Одноклассники
    Мой Мир - mail.ru
    Google Plus
    Facebook
    ЖЖ
    Другие
    Не пользуюсь