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

на главную

Жанры

Шрифт:

$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 раз

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

Журнал «Если», 2002 № 08

Андерсон Кевин Джей
114. Журнал Если
Фантастика:
научная фантастика
5.00
рейтинг книги
Журнал «Если», 2002 № 08

Язычник

Мазин Александр Владимирович
5. Варяг
Приключения:
исторические приключения
8.91
рейтинг книги
Язычник

Эпоха Опустошителя. Том IV

Павлов Вел
4. Вечное Ристалище
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эпоха Опустошителя. Том IV

Наследство Карны

Вассму Хербьёрг
3. Книга Дины
Проза:
современная проза
5.00
рейтинг книги
Наследство Карны

Отход

Видум Инди
4. Петя и Валерон
Фантастика:
рпг
аниме
попаданцы
5.00
рейтинг книги
Отход

Снега

Чепурин Юлий Петрович
Поэзия:
драматургия
5.00
рейтинг книги
Снега

Александри В. Стихотворения. Эминеску М. Стихотворения. Кошбук Д. Стихотворения. Караджале И.-Л. Потерянное письмо. Рассказы. Славич И. Счастливая мельница

Эминеску Михай
126. Библиотека всемирной литературы
Поэзия:
поэзия
5.00
рейтинг книги
Александри В. Стихотворения. Эминеску М. Стихотворения. Кошбук Д. Стихотворения. Караджале И.-Л. Потерянное письмо. Рассказы. Славич И. Счастливая мельница

Первый среди равных. Книга IX

Бор Жорж
9. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга IX

На границе империй. Том 4

INDIGO
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
На границе империй. Том 4

Черный Маг Императора 18

Герда Александр
18. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 18

Идеальный мир для Лекаря 26

Сапфир Олег
26. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 26

Московское золото и нежная попа комсомолки. Часть Пятая

Хренов Алексей
5. Летчик Леха
Фантастика:
попаданцы
5.00
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Пятая

Перешагнуть пропасть

Муравьёв Константин Николаевич
1. Перешагнуть пропасть
Фантастика:
боевая фантастика
космическая фантастика
8.38
рейтинг книги
Перешагнуть пропасть

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2