Abs VALUE
abs VALUE
Возвращает абсолютное значение аргумента.
Accept NEWSOCKET, GENERICSOCKET
accept NEWSOCKET, GENERICSOCKET
подобно системному вызову accept(2) ждет соединения. Возвращает запакованный адрес, если соединение произошло успешно и FALSE в противоположном случае.
$ARGV
$ARGV
Содержит имя текущего файла, из которого происходит чтение.
@ARGV
Содержит массив аргументов командной строки, которые были переданы программе.
Bind SOCKET, NAME
bind SOCKET, NAME
Привязывает сетевой адрес к сокету, также как системный вызов bind в OS UNIX или любой другой системе, поддерживающей BSD Sockets. Если привязка произошла успешно, возвращает TRUE, в противном случае - FALSE. Переменная NAME должна содержать запакованный адрес, соответствующего для сокета типа. Тип адреса для разных видов сокетов определяется в терминах языка C структурой sockaddr, которая представляет собой абстрактный тип, содержащий все данные, необходимые для сокета.
Binmode FILEHANDLE
binmode FILEHANDLE
Позволяет читать или писать файл с соответствующим дескриптором в бинарном режиме.
Bless REF, PACKAGE
bless REF, PACKAGE
Эта функция присоединяет объект на который указывает ссылка REF, к пакету PACKAGE, если он определен, если же он опущен, то к текущему пакету. Для удобства возвращает ссылку, так как bless() часто является последним оператором в конструкторе.
Caller EXPR
caller EXPR
Возвращает контекст текущего вызова подпрограммы. В скалярном контексте возвращает TRUE, если мы находимся внутри подпрограммы, eval() или require(). FALSE в противоположном случае. В списковом контексте возвращает: ($package, $filename, $line) = caller;
С аргументом EXPR возвращает более сложную информацию, которая используется отладчиком для печати карты стека. Значение EXPR отмечает глубину стека до текущей записи. ($package, $filename, $line, $subroutine, $hasargs, $wantargs) = caller($i);
Chdir EXPR
chdir EXPR
Изменяет текущую директорию на указанную в EXPR, если это возможно. Если EXPR опущено, то устанавливает в качестве текущей директории домашнюю директорию. Возвращает TRUE в случае успеха и FALSE иначе.
Chmod LIST
chmod LIST
Изменяет права доступа к файлам указанным в LIST. Первым аргументом должна быть маска доступа в цифровом формате. Возвращает число файлов права доступа к которым были успешно сменены. $cnt = chmod 0700 'foo','bar'; chmod 700 @executables;
Chown LIST
chown LIST
Изменяет хозяина или группу, которой принадлежит список файлов. Первыми двумя аргументами должны быть uid и gid. Возвращает количество успешных изменений.
Chr NUMBER
chr NUMBER
Возвращает символ, представленный номером NUMBER в наборе символов. Например, chr(65) вернет A.
Close FILEHANDLE
close FILEHANDLE
Закрывает файл с дескриптором FILEHANDLE. Для более подробной информации читайте manual page. open(OUTPUT '/usr/home/petrov'); ... close OUTPUT;
Closedir DIRHANDLE
closedir DIRHANDLE
Закрывает каталог открытый вызовом opendir().
Connect SOCKET,NAME
connect SOCKET,NAME
Пытается соединиться с удаленным сокетом (по аналогии с системным вызовом). Возвращает TRUE в случае успешного соединения и FALSE в противоположном случае. Переменная NAME должна содержать запакованный адрес соответствующего данному сокету типа.
Cos EXPR
cos EXPR
Возвращает косинус EXPR, выраженного в радианах. Если EXPR опущено, возвращает косинус $_.
Dbmclose ASSOC
dbmclose ASSOC
Прерывает связь между файлом и ассоциативным массивом.
Dbmopen ASSOC, DBNAME, MODE
dbmopen ASSOC, DBNAME, MODE
Связывает dbm(3) или ndbm(3) файл с ассоциативным массивом. ASSOC - имя ассоциативного массива. DBNAME - имя базы данных (без .dir или .pag расширения). Если база данных не существует, то она создается с правами доступа указанными в MODE. dbmopen(%HIST,'/usr/lib/news/history', 0600); while (($key, $val) = each %HIST){ print $key, '=', unpack('L',$val),\n;} dbmclose(%HIST);
Defined EXPR
defined EXPR
Возвращает TRUE или FALSE, в зависимости от того определено значение EXPR или нет. Многие операции возвращают неопределенное значение в случае конца файла, неинициализированной переменной, системной ошибки или при подобной ситуации. Если речь идет о хэше, то defined покажет только определены ли ли величины, ничего не говоря о существовании ключей. Для определения существования ключей используется функция exists().
Delete EXPR
delete EXPR
Стирает указанную величину. Возвращает удаленную величину или значение не определено в случае, если удаление не произошло. foreach $key (keys %array) { delete $array{$key}; }
Но более быстро то же самое можно сделать используя функцию undef().
Die LIST
die LIST
Вне eval() печатает значение LIST в STDERR и выходит из программы с текущим значением $!. Если значение $! есть ноль, то принимает значение $? >> 8. Если значение $? >> 8 есть ноль, то принимает значение 255. Внутри eval() сообщение об ошибке помещается в переменную $@ и eval() прерывается с неопределенным значением. open(FL, "/root/rm-rf") die "Can't open file.\n";
$<Digit>
$<digit>
Эта переменная была описана в предыдущем параграфе. Она доступна только для чтения, так же как и переменные $&, $`, $' и $+.
Do BLOCK
do BLOCK
Функцией не является. Возвращает значение последней операции внутри блока.
Do EXPR
do EXPR
Использует величину EXPR как имя файла и далее запускает содержимое этого файла, как программу на Perl. Обычно это используется для включения библиотечных подпрограмм. do 'stat.pl';
Это то же самое, что: eval 'cat stat.pl';
Однако подключать библиотечные модули более удобно используя use и require.
Each ASSOC_ARRAY
each ASSOC_ARRAY
Возвращает массив из двух элементов, содержащий ключ и значение из хэша, причем по очереди перебирает все пары ($key, $value). while (($key,$value) = each %ENV){ print " $key = $value \n"; }
%ENV
%ENV
Содержит текущее окружение процесса. Изменением содержимого хэша можно изменить окружение порожденного (дочернего) процесса.
Eof FILEHANDLE
eof FILEHANDLE
Возвращает 1, если следующее считывание возвращает конец файла или если FILEHANDLE не был открыт. При опущении аргумента eof обрабатывает последний файл, из которого происходило считывание. Но на практике эта функция редко используется, так как в Perl-е операторы чтения возвращают неопределенное значение в конце файла.
Eval EXPR
eval EXPR
EXPR выполняется как маленькая программа в контексте основной программы. Определенные переменные и подпрограммы остаются определенными и в дальнейшем. Возвращается значение, которое возникает при обработке последнего выражения. Если EXPR опущено, то обрабатывается $_.
Exec LIST
exec LIST
Исполняет внешнюю программу и НИКОГДА не возвращает управление. На самом деле (в UNIX) производится системный вызов семейства exec, который подменяет программу, исполняющуюся в рамках текущего процесса. Если LIST представляет собой список из более, чем одного аргумента, то вызывается execvp(3) с аргументами из LIST. Если аргумент только один, то он проверяется на метасимволы shell. Если они присутствуют, то он далее передается /bin/sh -c для обработки. Если же их нет, то аргумент передается напрямую execvp, который более эффективен.
Exists EXPR
exists EXPR
Возвращает TRUE, если в хэше есть ключи и даже в том случае, когда значения VALUE не определены.
Exit EXPR
exit EXPR
Обрабатывает EXPR и осуществляет немедленный выход с полученной величиной. $ans = <STDIN>; exit 0 if $ans =~ /^[Xx]/;
Если EXPR опущено, то осуществляет выход с нулевым статусом.
Exp EXPR
exp EXPR
Возвращает е (основание натурального логарифма e = 2.718281828...) в степени EXPR. По умолчанию обрабатывается $_.
Fork
fork
Делает системный вызов fork(2). Возвращает pid (идентификатор процесса) дочернего процесса родительскому процессу и 0 дочернему процессу. Значение не определено в случае неуспешного завершения команды. Неуспех может произойти, например, в случае установки в системе ограничения на количество процессов данного пользователя. Вот небольшой пример использования этой функции. unless ($pid = fork) { unless (fork) { exec "what you really wanna do"; die "no exec"; some_perl_code_here; exit 0; } exit 0; } waitpid($pid,0);
Спецификация языка Perl
getc FILEHANDLE
Возвращает следующий символ из файла чтения, присоединенный к FILEHANDLE или пустую строку в случае конца файла. Если FILEHANDLE опущен, то считывание происходит из STDIN.
Спецификация языка Perl
goto LABEL
Эта функция осуществляет переход на точку программы LABEL и продолжает выполнение программы с этой точки. Точка не может находиться внутри подпрограммы или foreach цикла, так как в этих случаях требуется предварительная инициализация. Использовать в качестве LABEL выражение не рекомендуется, хотя такая возможность и предоставляется.
Спецификация языка Perl
grep EXPR, LIST
Обрабатывает BLOCK или EXPR для каждого элемента LIST и возвращает список элементов для которых значение выражения TRUE. В скалярном контексте возвращает число элементов для которых EXPR TRUE.
Hex EXPR
hex EXPR
Возвращает десятичное значение EXPR, интерпретируемого как шестнадцатеричная строка. По умолчанию обрабатывает переменную $_.
@INC
@INC
Содержит список точек входа в программу, в которых используются конструкции do EXPR, require и use.
%INC
Содержит входы для каждого файла, который включается посредством использования операторов do или require. Ключами являются имена файлов, а значениями места их расположения.
Int EXPR
int EXPR
Возвращает целую часть EXPR, если EXPR опущено, то обрабатывает переменную $_.
Join EXPR,LIST
join EXPR,LIST
Соединяет в единую строку строки из LIST. При этом в качестве разделителей между элементами LIST ставит значение EXPR. Например: $_ = join( ':',$login,$passwd, $uid,$gid,$gcos,$home,$shell);
Keys ASSOC_ARRAY
keys ASSOC_ARRAY
Возвращает обычный массив, состоящий из ключей ассоциативного массива ASSOC_ARRAY. В скалярном контексте возвращает число ключей. @keys = keys %ENV;
Kill LIST
kill LIST
Посылает сигнал списку процессов LIST, первым элементом списка должен быть номер сигнала. Возвращает число процессов, которым сигнал был послан успешно. В отличие от shell, если номер сигнала отрицателен, то он посылается группе процессов.
Length EXPR
length EXPR
Возвращает длину EXPR в символах. По умолчанию обрабатывает переменную $_.
Link OLDFILE,NEWFILE
link OLDFILE,NEWFILE
Создает файл NEWFILE, присоединенный к файлу OLDFILE. (В OS UNIX создание нескольких имен для одного файла) Возвращает 1 в случае успеха и 0 иначе.
Listen SOCKET, QUEUESIZE
listen SOCKET, QUEUESIZE
Делает то же самое, что и одноименный системный вызов. Возвращает TRUE в случае успеха, FALSE иначе.