Введение в Perl
Добавить в закладки К обложке
- От простого к сложному - Страница 1
- Запуск интерпретатора Перл - Страница 4
- Синтаксис - Страница 6
- Переменные - Страница 10
- Встроенные переменные Перл - Страница 13
- Регулярные выражения (шаблоны) - Страница 15
- Операторы и приоритеты - Страница 17
- Встроенные функции - Страница 23
- Группа системных вызовов - Страница 27
- Подпрограммы - Страница 35
- Модули (packages) - Страница 37
- Форматы - Страница 39
- Отладка Перл программ - Страница 41
- Список литературы - Страница 42
- Интернет – ссылки - Страница 43
Группа системных вызовов
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.