<<
>>

Группа системных вызовов

getpwnam NAME

getgrnam NAME

gethostbyname NAME

getnamebyname NAME

getprotobyname NAME

getpwuid UID

getgrid GID

getservbyname NAME, PROTO

gethostbyaddr ADDR, ADDRTYPE

getnetbyaddr ADDR, ADDRTYPE

getprotobynumber NUMBER

getservbyport PORT, PROTO

getpwent

gethostent

getnetent

getprotoent

getservent

setpwent

setgrent

sethostent STAYOPEN

setnetent STAYOPEN

setprotoent STAYOPEN

setservent STAYOPEN

endpwent

endgrent

endhostent

endnetent

endprotoent

endservent

Все эти функции анологичны одноименным системным вызовам.

В списковом контексте возвращают следующие списки:

($name, $passwd, $uid, $gid, $quota, $comment, $gcos, $dir, $shell) = getpw*

($name, $passwd, $gid, $members) = getgr*

($name, $aliases, $addrtype, $length, @addrs) = gethost*

($name, $aliases, $addrtype, $net) = getnet*

($name, $aliases, $proto) = getproto*

($name, $aliases, $port, $proto) = getserv*

В скалярном контексте возвращается имя или что-то другое в зависимости от типа функции.

Элемент $members в вызове getgr содержит разделенные пробелом имена членов группы.

@addrs содержит IP адреса компьютеров в сети Интернет в упакованном виде.

Для распаковки применяйте: ($a, $b, $c, $d) = unpack('C4',$addr[0]);

getsockname сокит

Возвращает упакованный адресс сокита локальной машины.

getsockopt сокит, уровень, опция

Возвращает опцию сокита.

glob выражение

Возвращает список файлов удовлетворяющих выражению с '*' как в команде ls.

gmtime выражение

Переводит местное время полученное функцией time() во время по Гринвичу.

Обычно используется в виде:

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=gmtime(time);

goto метка

goto выражение

goto &подпрограмма

Бузусловный переход на метку.

Нельзя делать переход на метку в структуру которая должна быть инициирована например подпрограмму или цикл foreach и т.д.

Вторая форма применяется для динамического определения перехода.

Например:

goto ('метка1', 'метка2', 'метка3')[$i];

Здесь при $i = 0 будет переход на 'метка1', $i = 1 на 'метка2' и т.д.

Третья форма (goto &подпрограмма ) довольно «хитрый» метод подмены имени вызываемой подпрограммы именем текущей. Это используется в методе автозагрузки когда нужно запустить другую процедуру но под именем текущей как-будто та была вызвана раньше.

grep блок, список

grep выражение, список

Выполнят блок или выражение для каждого элемента списка. Переменная $_ содержит текущий элемент.

Возвращает список элементов с которыми выражение дало результат true.

В скалярном контексте возвращает количество результатов true.

hex выражение

Воспринимает выражение как строку шестнадцатиричных цифр и возвращает десятичное значение.

import

В Перл нет встроенной функции import, но есть метод с помощью которого модули могут экспортировать область имен

другим модулям. Подробно смотрите функцию use() .

index строка, подстрока, позиция

index строка, подстрока

Возвращает позицию первого вхождения подстроки в строке начиная с указанной позиции. Если позиция отсутсвует то сравнение начинается с начала строки. Отсчет позиции ведется с 0 если только не изменено значение встроеной переменной $[. Если подстрока не найдена то результат меньше первой позиции на 1. Обычно это -1.

int выражение

Возвращает целую часть выражения.

ioctl FILEHANDLE, FUNCTION, SCALAR

Выполняет системный вызов ioctl(). В начале программы необходимо указать: require «ioctl.ph»;

join выражение, список

Соединяет строки списка или массива в одну строку с кодом разделителя равному выражению.

keys хеш

Возвращает массив всех ключей хеша. В скалярном контексте – количество ключей. Порядок следования ключей аналогичен порядку в each функции.

kill список

Послать сигнал (первый элемент) указанным в списке процессам. Возвращает количество процессов которые сигнал приняли.

last метка

last

Функция аналогичная break в С. Прерывает цикл и переходит на указанную метку. Если метки нет на ближайший внешний цикл.

Блок continue не выполняется.

lc выражение

Преобразовать строку в буквы нижнего регистра.

lcfirst выражение

Заменить первую букву строки на малую.

length выражение

Возвращает длину строки выражения.

link OLDFILE, NEWFILE

Создать файл NEWFILE связанный с файлом OLDFILE.

listen SOCKET, QUEUESIZE

Выполнить системный listen().

local список

Объявляет перечисленные переменные как локальные в текущем блоке или подпрограмме. Если указано два и более имени их необходимо заключить в круглые скобки. Предпочтительней использовать функцию my() .

localtime выражение

Преобразовать 9-элементный массив возвращаемый функцией time относительно местного времени. Употребляется как:

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);

log выражение

Возвращает натуральный логарифм выражения.

lstat файл

lstat выражение

То же что и системный вызов stat() но касательно ссылки на файл а не самого файла.

m//

Оператор совпадения. Смотри главу «Операторы»

map блок, список

map выражение, список

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

Возвращает список результатов.

mkdir директория, права

Создать директорию с указанными правами доступа. Возвращает 1 при успехе и 0 при неудаче.

msgctl ID, CMD, ARG

Системный вызов msgctl() System V

msgget KEY, FLAGS

Системный вызов msgget() System V

msgsnd ID, MSG, FLAGS

Системный вызов msgsnd() System V

msgrcv ID, VAR, SIZE, TYPE, FLAGS

Системный вызов msgrcv() System V

my список

Объявляет локальными переменные в списке.

Если два или более имени их необходимо заключить в круглые скобки.

next метка

next

Аналогичен continue в С. Переход к следующей итерации в цикле.

Если в цикле присутсвует блок continue он так же выполняется.

Если метка отсутсвует – переход на ближайший внутренний цикл.

no Module список.

Исключить использование указанных модулей.

oct выражение

Возвращает десятичное число представленное восьмеричными цифрами.

open файл,выражение

open файл

Открыть файл с указанным именем. Аргумент «файл» – это фактически указатель на блок описания файла. Если имя (выражение) файла отсутсвует то имя считается таким же как и указатель файла.

Если перед именем стоит символ '' – на запись.

Если '>>' – на добавление записей. '+>' или '+-' – стандартный вывод (STDOUT).

Функция возвращает true при успехе и false – неудаче.

Если имя (выражение) начинается с символов «>&» то остаток имени считается именем указателя файла который окрывается повторно.

Символ '&' может стоять после '>', '+>', '+>>' и '+

<< | >>
Источник: Владимир Викторович Маслов. Введение в Perl. 2003

Еще по теме Группа системных вызовов:

  1. I. 1. СИСТЕМНЫЙ ПОДХОД КАК ИНСТРУМЕНТ ДЛЯ ПОСТРОЕНИЯ СИСТЕМНЫХ ОПИСАНИЙ
  2. I. СИСТЕМНЫЕ ОПИСАНИЯ - ГЛАВНЫЙ РЕЗУЛЬТАТ СИСТЕМНОГО ПОДХОДА В ПСИХОЛОГИИ
  3. Статья 28. Совершение преступления группой лиц, группой лиц по предварительному сговору, организованной группой или преступной организацией
  4. в) Совершение преступления в составе группы лиц, группы лиц по предварительному сговору, организованной группы или преступного сообщества (преступной организации)
  5. Психология личности целостна, системна (принцип целостности, системности).
  6. ВЫЗОВ ВРАЧА
  7. СПТ откликается на вызов обстоятельств
  8. Быстрый вызов желаемого
  9. Бросьте себе вызов
  10. Самоубийство как вызов обществу
  11. § 14 Условное соглашение. – Предложение и вызов. – Договор посредством публичного торга или состязания. – Одностороннее обещание.
  12. Типология органов и основные типологические группы современной российской журналистики (качественные и массовые издания, каналы, программы; органы информации различной функционально-целевой, предметно-тематической, направленности; рассчитанные на определенные группы аудитории, разной периодичности).
  13. § 46 Принятие наследства. – Значение вызова кредиторов и некоторых публикаций. – Отзыв о принятии и действия, служащие признаком принятия.
  14. 2.1.4. Системный анализ
  15. ПРИНЦИП СИСТЕМНОСТИ
  16. § 2.4. Системный подход
  17. принцип системности
  18. Тема 1. Основные принципы системного анализа
  19. ГОЛОВОКРУЖЕНИЕ СИСТЕМНОЕ
  20. принцип целостности, системности