Дело в том что в Перл реализован очень удобный механизм работы с базами данных типа dbm, ndbm, sbdm, gdbm и Berkeley DB. Для этого нужно связать (открыть) базу под именем хеша. Вся работа с записями базы выполняется так будто это обычный хеш (ассоциативный массив).

Более подробно смотрите описание функции AnyDBM().

define выражение

Возвращает true если значение определено (существует) и false если нет. Многие операции завершаются не определенным значением, например чтение после конца файла, использование не определенных переменных, системные ошибки и т.д.

Данная функция позволяет различать нулевое и не определенные значения, определенность или не определенность функций или ссылок. При использовании определенности ключа в хеше она возвращает определен данный ключ или нет но не существует он или нет.

delete выражение

Удалить значение из хеша. Возвращает удаляемое значение или не определенность если ни чего не удаляется.

Удаление из массива окружения $ENV{} – изменяет окружение.

Удаление из хеша связанного с базой данных – удаляет запись в базе данных.

die список

Если программа не была запущена из eval() данная функция выводит список в поток STDERR и завершает работу программы с кодом из переменной $!. Если $! содержит 0 то с кодом ($? >> 8). Если и это 0 то с кодом 255.

При вызове из eval() сообщение об ошибке заносится в переменную $@ и eval() завершается с неопределенным значением. Это позволяет отробатывать ошибочные ситуации не завершая головной модуль.

Если строка из списка не завершается символом '\n' то дополнительно печатается номер строки скрипта откуда вызвана функция и номер входной строки исли таковой имеется.

do BLOCK

Это не совсем функция. Здесь возвращается значение последнего оператора блока. Когда используется циклический модификатор

BLOCK исполняется перед проверкой условия цикла в отличии от обычных циклов.

do подпрограмма

Устаревший метод вызова подпрограмм.

do выражение

Значение выражения воспринимается как имя файла Перл скрипта.

Изначально это применялось для включения подпрограмм библиотеки.

Сейчас правильней использовать вызовы use() и require() которые обеспечивают контроль ошибок и завершения.

dump метка

Выполнние «дампа» текущей памяти. Применялось для возможности исрользовать программу undump что бы включить текущий исполняемый код в программу после инициализации всех переменных.

Выполнение этой новой программы будет начинаться оператором goto метка. Если метка опущена то запуск сначала.

Внимание! Файлы открытые до момента дампа не будут открытыми

в момент исполнения новой программой.

each хеш

Возвращает 2-элементный массив. Первый элемент – ключ второй – значение следующего элемента хеша. Позволяет «просматривать» все значения хеша в определенном порядке. Сброс переменной цикла происходит только после прохождения всего массива.

eof()

eof файл

eof()

eof

Возвращает 1 если выполняется чтение после конца или чтение из не открытого файла. Аргументом должно быть выражение возвращающее существующий указатель файла. Данную функцию нельзя использовать для чтения файлов открытых как терминалы.

Если аргумент не указан то используется последний читаемый файл.

Использование в форме eof() целесообразно применять в циклах while(<>) для определения конца только последнего файла из

списка. Применяйте eof(ARGV) или eof для определения конца каждого файла из списка.

eval выражение

eval выражение

eval блок

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

Это делается в контексте текущей программы поэтому можно использовать уже определенные переменные и подпрограммы.

Ворзвращается результат последнего оператора в блоке или значение оператора return. Если обнаружится синтаксическая ошибка или выполнится оператор die возвращается не определенное значение а переменная $@ содержит сообщение об ошибке. Если ошибки не было то $@ содержит нулевую строку. При отсутсвии аргумента берется значение переменной $_.


Логин
Пароль
Запомнить меня