Встроенные функции ( 1стр. )
Данные функции являются по сути операторами, но имеют
по отношению к ним самый высокий приоритет, т.е. применяются как термы.
По характеру выражений их делят на две группы - списковые и унарные.
По названию видно, что одни содержат несколько выражений, другие (une)
- одно. В обоих случаях дополнительно используется оператор "," (запятая),
который служит разделителем выражений в списке и завершающем элементом
при указании выражения в унарном операторе. При использовании круглых
скобок, обработка будет проходит в скобках, т.к. таким образом обозначаются
функции и последовательность аргументов не имеет значения.
Если какая-либо
функция вернет результат в двух контентах (в списковом и скалярном),
то возможный код ошибки может быть пустой список или скаляр с ненайденным
значением. дело в том, что каждая функция или оператор может иметь
только свой вид значений в скалярном контенте, а в списковом - либо
первый или последний элемент списка, либо число успешных операций.
Определенного правила трансформации списка в скаляр нет.
Теперь давайте перейдем самим встроенным функциям.
Ниже приведены весь их перечень в алфавитном порядке с
возможными сочетании
(
встроенная функция
возможные
сочетания
). Повторимся
- приоритет между встроенными функциями равный.
abs
выражение
- возвращает абсолютное значение выражения.
accept
NEWSOCKET, GENERICSOCKET
- команда для открытия нового socket, которая работает по принципу
accept()
, т.е. возвращает либо адрес, либо
false.
alarm
секунды
- указатель временного промежутка (счетчик времени), по истечению
которого производится сигнал sigalarm текущему процессу. При использовании
нескольких счетчиков в одной программе (но только в разных промежутках
времени) возвращает остаточное значение предыдущего счетчика.
atan2
Y,X
- возвращает арктангенс
(Y/X)
.
bind
socket, name
- присваивает сетевой адрес сокету.
Переменная
name
должна содержать пакетный адрес сокета
. Результаты
TRUE и
FALSE.
binmode
файл
- обрабатывает файл в бинарном режиме.
bless
ссылка, класс
;
bless
ссылка
- указание ссылки на объект, которому нужно присвоить
класс, либо оставить текущий (при опускании сведений о классе).
caller
;
caller
выражение
- результатом применения данной функции является выдача информации
о вызываемой подпрограмме. Возвращает в скалярном контенте
TRUE
, если подпрограмма или процесс вызывались с помощью операторов
eval() или
require(), в противном случае будет
FALSE
. В списковом контенте для
caller
- в виде списка (
$package, $filename, $line), для
caller
выражение
- список (
$package, $filename, $line, $subroutine, $hasargs,
$wantargs),
где
-
$package
- имя пакета из которого сделан вызов
-
$filename
- имя пакетного файла
-
$line
- номер строки пакетного файла
-
$subroutine
- имя подпрограммы
-
$hasargs
- аргументы, которые есть в наличие
-
$wantargs
- аргументы, которые необходимы
chdir
выражение
- смена текущей директории на указанную выражением. Умолчание выражения
является переход на домашнюю директорию. При правильной смене выдается
результат
TRUE, в противном случае -
FALSE.
chmod
список
- изменит право доступа к файлам, указанном в списке, где первый аргумент
списка маска доступа в восьмеричном формате. Выдает число файлов, которые
были изменены права доступа.
chop
переменная
;
chop
список
;
chop
- работает по одинаковому принципу, что и
chown
, но исключает завершающий символ строки.
chown
список
- изменяет принадлежность файлов списка. Состоит из нескольких аргументов.
Первый - номер нового
UID, второй номер новой группы (
GID
), а затем уже перечень файлов.
chr
число
-
Возвращает символ, указанного в наборе символов под номером "число". Например,
chr(65) вернет
A .
chroot
/директория
- указатель внутренней директории программы.
close
FILEHANDLE
- закрывает файл или процесс, указанный в
FILEHANDLE,
но при использовании в новой строке функции
open() закрывать файл не
обязательно.
closedir
директория
- закрывает директорию.
connect
SOCKET , NAME
- связь с удаленным сокетом, переменная
NAME
указывает на имя и полный запакованный адрес типа сокета. При ошибки
возвращает
FALSE и
TRUE при успехе процедуры.
cos
выражение
- косинус выражения. обозначающий в радианах.
crypt
текст
- криптография текста
dbmclose
хеш
- закрытие связи между хешем и базой данных.
dbmopen
хеш, база, режим
- связывает файл
*.dbm
( база данных) с хешем в определенном режиме, где
база
- имя базы
(без
.dir или
.pag
расширения).
Если базы данных нет, то она будет создана в указанном
режиме
права доступа.
define
выражение
- функция определений выражений, которая применяется для тестирования
функций, ссылок на наличие их значений. Способна различать нулевые и
неопределенные значения. При положительном результате возвращает
TRUE,
а при отрицательном -
FALSE
.
delete
выражение
- удаление значений из хеша, а если последний связан с базой данных -
очищает запись в этой базе.
die
список
-
вне
eval() печатает
список
в
STDERR
и выходит из программы с текущим
значением
$! . Если значение
$! содержит
ноль, то принимает значение
$? >> 8 . Если значение
$? >> 8 есть
ноль, то принимает значение
255. Внутри
eval() сообщение об ошибке помещается в переменную
$@ и
eval()
прерывается с неопределенным
значением.
do
BLOСK
-
возвращает значение последней операции внутри блока, где
BLOСK
- циклический модификатор.
do
выражение
- здесь в данной функции
выражение
- имя файла, которое будет запускаться, как программа составленная на языке
Perl.
each
хеш
- используется для вывода значения из хеша в виде массива, который будет
состоять из двух составляющих - ключа и значения элемента хеша.
eof()
;
eof;
eof
файл
- служит для определения конца файла, в зависимости от того в каком
сочетании данная функция применяется. Так
eof()
обрабатывает только
последний файл из списка, а другие найдут конец каждого файла списка.
Причем если не указывать
файл
, то обработается последний, доступный для чтения. Положительным результатом
функции является-
1
. Файлы, открытые как терминалы не обрабатываются.
eval
выражение
- небольшая программа, указанная в
выражение
будет работать в контексте текущей со всеми параметрами последней. По
умолчании
выражения
вступают в силу значение переменной S_.
exec
список
-
закрывает внешнюю программу путем выполнения соответствующей команды из списка.
На самом деле, если надо вернуться к управлению, то лучше производить
системный вызов
system(),
. Если
список
представляет собой перечень более, чем одного аргумента, то вызывается
execvp() с аргументами из
списка
. Если аргумент только один, то он проверяется
на метасимволы
shell . Если они присутствуют, то он далее передается
/bin/sh -c
для последующей обработки. Если же их нет, то аргумент передается напрямую
execvp
, который более эффективен. Так как
exec()
и
system(0)
не сбрасывает буфер ввода-вывода, то нужно дополнительно применять переменную
$I.
exists
выражение
- проверка на наличие ключа в хеше, вернёт
TRUE
при положительном эффекте,
независимо от значения
VALUE.
exit
выражение
- закрывает текущую программу с кодом
выражения.
exp
выражение
- в процессе обработки
возвращает
е
(основание натурального логарифма e = 2.718281828...) в степень, указанную
в
выражение
. По умолчанию обрабатывается
$_ .
fcntl
функция, файл, скаляр
- производит системный вызов
fcntl()
, при указании в программе
use Fcntl.
fileno
файл
- применяется для вывода описания
файла.
flock
файл, операция
- производит системный вызов
flock().
fock
- производит системный вызов
fock()
, результатом чего является:
pid
(идентификатор процесса) дочернего процесса, относительно родительского,
"
ноль
" - для дочернего процесса и неопределённое значение в случае
не завершения данной операции. Такого рода результат может произойти,
например, в случае установки в системе ограничения на количество процессов
данного пользователя.
format
- задает формат для оператора
write.
formline
формат, список
- используется как внутренняя функция для
format
. Служит для составления значений из списка и последующего вывода их в переменную
$^A.
getc
,
getc
файл
- находит, а затем возвращает символ из
файла
.
При умолчании последнего берётся
STDIN
. По окончанию безрезультатного поиска возвращает пустую строку.
getlogin
- возвращает указанный логин из
/etc/utmp.
getpeername
socket
- применяется для нахождения упакованного адреса удаленного сокета.
getpgrp
PID
- результатом работы данной функции является вывод группы процессов,
которая была указана в
PID
.
При умолчании
PID
- группу текущего процесса.
getppid
- возвращает PID "материнского" процесса.
getpriority
- показатель текущего приоритета процесса или их групп, а также пользователя.
getsockname
socket
- возвращает адрес сокета локального компьютера.
getsockopt
socket, level, opt.
- возвращает опцию сокета.
glob
выражение
- выдаёт список файлов, которые удовлетворяет
выражение
.
gmtime
выражение
- служит для смены текущего времени на время по Гринвичу.
goto
выражение
,
goto
метка
,
goto
&подпрограмма
- служит для перехода на "точку" программы и выполнением программы с
этого места. Нельзя помещать данную "точку"
внутри подпрограммы или
foreach цикла.
grep
выражение, список
;
grep
блок,
список
- обрабатывает выражение или блок в списке, на предмет их сопоставлений
с указанными. В скалярном контенте результат в количестве совпадений,
в списковом - список элементов с результатом
TRUE
.
hex
выражение
- конвертирует шестнадцатеричное число, указанное в
выражение
в десятичное.
import
- применяется как функция, но ей не является. С помощью неё можно
импортировать имя модуля в другой модуль.
index
строка, подстрока
;
index
строка,
подстрока, позиция
- начиная с выбранной вами
позиции
происходит обработка
подстроки
в
строке
. По умолчанию (переменная
$[ не была изменена) номер первой позиции
"ноль"
. В случае отсутствия позиции обработка начинается с первой строки.
При безрезультатном поиске подстроки возвращается "
-1".
int
выражение
- возвращает указанное
выражение
целиком.
ioctl
файл, функция, скаляр
- системный вызов
iotcl()
, который дополнительно инициализируется в начале
программы строкой: require "
ioctl.ph".
join
выражение, список
- связывает строки списка или массива с помощью кода, указанным в
выражение
,
в одну
строку.
keys
хеш
- показывает массив всех ключей
хеша.
kill
список
-
посылает сигнал
списку
процессов , первым элементом
списка
должен быть
порядковый номер сигнала. Возвращает число процессов, которым сигнал был послан
успешно.
last
;
last
метка
- прерывание цикла и переход в указанную метку. При отсутствии таковой
- на ближайший внешний цикл.
lc
выражение
- перевод всех букв строки в нижний регистр.
lcfirst
выражение
- аналогичен предыдущей функции, но только в отношении первой буквы
строки.
length
выражение
- возвращает длину строки
выражения.
link
OLDFILE, NEWFILE
- функция создания файла
NEWFILE
,
который присоединится к
OLDFILE
.
listen
SOCKET, QUEUESIZE
- эквивалентен системному вызову
listen()
. Возможные результаты
TRUE и
FALSE.
local
список
- данная функция перечисляет переменные и меняет их статус на локальные
в блоке или подпрограмме, где применяется эта функция. При указании
нескольких переменных используются круглые скобки. Эквивалентна системной
функции
my().
log
выражение
- логарифмирует
выражение.
lstat
файл
;
lstat
выражение
- эквивалентен системному вызову
stat(), но обрабатывает только ссылки
на указанный
файл
.
m//
- оператор совпадения.
map
выражение, список
;
map
блок, список
- обрабатывая указанные
выражение
или
блок
каждого элемента
списка
,
выводит последовательные результаты.
mkdir
директория, права
- применяется для создания директории с определенными
правами
.
Результат
1 (да) и
0 (нет).
my
список
- присваивает всем переменным в
списке
локальный статус. При использовании нескольких переменных применяются
круглые скобки.
next
;
next
метка
- применяется в циклах для перехода соответственно на самый ближний
внутренний цикл и на следующую фазу цикла, указанной
меткой
. Можно дополнительно применять блок
continue, т.к. они не конфликтуют
между собой.
no Module
список
- выбранный
список
модулей будет исключен от использования.
oct
выражение
- указанные в
выражение
восьмеричные цифры конвертируются в десятичные.
open
файл
;
open
файл, выражение
- либо открывает
файл
с указанном именем, либо открывает файл, описанный
переменной (
выражение
), для последующих операций с ним. Такие операции обозначаются в начале
имени файла следующими символами:
-
<
- открытие файла для чтение.
-
>
- открытие файла для записи.
-
>>
- открытие файла для добавлений записей.
-
+<
или
+> - открытие файла и на запись и на чтение.
-
-
- стандартный вход
-
>-
- стандартный выход
-
|
- имя файла действует как команда, с которой
будет обеспечен программный канал, то есть вывод в дескриптор
файла
и
будет передаваться на вход программе, указанной в
выражение
.
Если функция возвращает
TRUE, то операция прошла успешно
и если
FALSE, то нет.
Если знак "
|" указывается после имени команды, то вывод этой
команды будет ассоциирован с дескриптором указанного
файла
, из которого
будет производиться чтение. Запись -
файл/
эквивалентна системному вызову
popen()
. Пример:
open(LOG, '>>/usr/spool/news/twitlog');
opendir
указатель, выражение
- открытие директории с именем, указанным в
выражение
,
для ее последующей обработки функциями такими, как
closedir(),
readdir(),
rewinddir(),
seekdir(),
telldir().
odr
выражение
- возвращает значение, в соответствии таблицы
ASII
, для первого символа
выражения
.
По умолчанию обрабатывается значение переменной
$_.
pack
шаблон, список
- используя указанный
шаблон
создается запакованный
список
в двоичном формате. Под
шаблоном
здесь следует понимать перечень нижеприведенных символов, которые служат
для определения последовательности и типов упакованных значений.
-
a
- применяется пробел для обозначения текстовой строки.
-
A
- применяется 0 (ноль) для обозначения текстовой строки.
-
b
- битовая строка, в которой нумерация битов возрастает.
-
B
- битовая строка, в которой нумерация битов убывает.
-
h
- аналогичен
b,
но является шестнадцатеричной строкой.
-
H
- аналогичен
B
,
но является шестнадцатеричной строкой.
-
c
- символ со знаком.
-
C
- символ без знака.
-
s
- 1 байт со знаком.
-
S
- 1 байт без знака.
-
i
- 2 байта со знаком.
-
I
- 2 байта без знака.
-
L
(нижний регистр) - 4 байта со знаком.
-
L
- 4 байта без знака.
-
n
- 1 байт в сетевом формате.
-
N
- 4 байта в сетевом формате.
-
v
- аналогичен
n
, но в
"VAX" формате.
-
V
- аналогичен
N, но в
"VAX"
формате.
-
p
- указатель на строку, которая ограниченная "нулём".
-
P
- указатель на строки, которые имеют конкретную длину.
-
u
- упаковка в юникоды.
-
x
- нуль-байт.
-
X
- байт в резерве.
-
@
- "забить" всю позицию нулями.
Количество повторов обозначаются соответствующим числом
сразу после каждой буквы (символа). Применение символа "*" (звездочка)
после вышеуказанных обозначений означает использование прежних параметров.
Шаблоны упаковки и распаковки абсолютно ничем не отличаются.
pipe
READHANDLE, WRITEHANDLE
- эквивалентен системному вызову
pipe().
pop
массив
- удаление и возвращение последнего элемента массива, в результате чего
длина массива становится меньше на
1
. При умолчании имени массива вступают в силу значения из
@ARGV для
главной программы и
@_ (подпрограммы). Безрезультатная процедура означает,
что массив пуст.
pop
скаляр
- результатом данной функции является числовое
значение смещения от последнего
m//g поиска.
далее>>>
|