Чтение онлайн

на главную - закладки

Жанры

Шрифт:

$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

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

@ARGV

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

@INC

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

%INC

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

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

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

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

Хеш %SIG содержит имена подпрограмм

для системных сигналов таких как INT, QUIT, PIPE, ... Значение 'DEFAULT' – для системной обработки. 'IGNORE' – игнорировать данный сигнал.

Регулярные выражения (шаблоны)

В данной главе описывается синтаксис регулярных выражений. Чаще всего в Перл они используюстя в операторах поиска и замены таких как s// m/ операторах связки =~ или != и т.д.

Как правило все эти операторы имеют схожие опции такие как:

i – не различать строчные и заглавные буквы.

m – считать строку многострочной.

s – однострочная строка.

x – расширенный синтаксис ( использование пробелов и комментариев)

Обычно все эти опции обозначают как '/x'. Их можно использовать даже внутри шаблонов, используя новую конструкцию (?...)

Регулярные выражения или шаблоны (pattern) то же самое что и regexp процедуры в Юниксе. Выражения и синтаксис заимствован из свободно распространяемых процедур V8 Генри Спенсера (Henry Spencer) там же они подробно и описаны.

В шаблонах используются следующие метасимволы (символы обозначающие группы других символов) часто называемых egrep – стандартом:

\ – считать следующий метасимвол как обычный символ.

^ – начало строки

 – один произвольный символ. Кроме '\n' – конец строки.

$ – конец строки

| – альтернатива (или)

  – группировка

[]  – класс символов

Метасимволы имеют модификаторы (пишутся после метасимвола):

 – повторяется 0 или большее число раз

 – повторяется 1 или большее число раз

 – 1 или 0 раз

{n} – точно n раз

{n,} – по меньшей мере раз

{n,m} – не менше n, но и не больше m

Во все других случаях фигурные скобки считаются обычными (регулярными) символами. Таким образом '*' эквивалентна {0,} , '+' – {1,} и '?' – {0,1}. n и m не могут быть больше 65536.

По умолчанию действие метасимволов «жадно» (greedy). Совпадение распространяется столько раз сколько возможно не учитывая результат действия следуюющих метасимволов. Если вы хотите «уменьшить их аппетит» то используйте символ '?'. Это не изменяет значение метасимволов просто уменьшает распространение. Таким образом:

*? – станет 0 и более

+?  – 1 и более

?? – 0 или 1 раз

{n}? – точно n раз

{n,}? – не меньше n раз

Поделиться:
Популярные книги

С Д. Том 16

Клеванский Кирилл Сергеевич
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
С Д. Том 16

Ротмистр Гордеев 2

Дашко Дмитрий
2. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев 2

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Двойник Короля

Скабер Артемий
1. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Двойник Короля

Последняя Арена 3

Греков Сергей
3. Последняя Арена
Фантастика:
постапокалипсис
рпг
5.20
рейтинг книги
Последняя Арена 3

Третий. Том 2

INDIGO
2. Отпуск
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 2

Возлюби болезнь свою

Синельников Валерий Владимирович
Научно-образовательная:
психология
7.71
рейтинг книги
Возлюби болезнь свою

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Божья коровка 2

Дроздов Анатолий Федорович
2. Божья коровка
Фантастика:
альтернативная история
5.00
рейтинг книги
Божья коровка 2

Охота на попаданку. Бракованная жена

Герр Ольга
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Охота на попаданку. Бракованная жена

Толян и его команда

Иванов Дмитрий
6. Девяностые
Фантастика:
попаданцы
альтернативная история
7.17
рейтинг книги
Толян и его команда

Релокант. По следам Ушедшего

Ascold Flow
3. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант. По следам Ушедшего

Рождение победителя

Каменистый Артем
3. Девятый
Фантастика:
фэнтези
альтернативная история
9.07
рейтинг книги
Рождение победителя