F – double float.

p – указатель на строку ограниченную 0.

P – указатель на структуру с фиксированной длиной.

u – упаковка uuencode.

x – нуль-байт

X – резервный байт.

@ – заполнить нулями позицию.

За каждой буквой может стоять число означающее количество повторов.

Для всех типов за исключением 'a', 'A', 'b', 'B', 'h' и 'H', упаковывается максимально возможное количество значений из списка.

Символ '*' после типа означает использовать оставшиеся параметры.

Тип 'a' и 'A' использует только одно значение из списка и добавляет остаток поля либо нуль-символами либо пробелами (при распаковке по типу 'A' пробелы и нули отбрасываются, а по 'a' – нет).

Типы 'b' и 'B' упаковывают строку в указанное число бит.

Так же как и 'h' и 'H' в число ниблов (байт).

'P' – упаковывает указатель на структуру с указанной длиной.

Числа с плавающей запятой (floats и double) записываются в стандартном для каждой машины формате и могут быть разными

для разных типов машин. Заметьте, что Перл всегда использует двойную точность (double) поэтому упаковка и распаковка по

типу 'f' приведет к потере точности.

Шаблоны для распаковки и упаковки совершенно одинаковы.

Примеры:

print(pack(«ccc»,65,66,67)); # Результат ABC

print(pack(«A4A3»,'ab','cdefg')); # «ab cde»

print(pack(«a4a3»,'ab','cdefg')); # «abcde»

pipe READHANDLE, WRITEHANDLE

Аналогичен системному pipe().

pop массив

Удаляет и возвращает последний элемент массива.

Длина массива уменьшается на 1. Результат не определен если массив пустой. Если имя массива отсутсвует то извлекает из @ARGV для головной программы и @_ для подпрограммы.

pos скаляр

Возвращает смещение от последнего m//g поиска.

print файл список

print список

print

Выводит строку или список строк в файл. Возвращает true при успехе. Аргумент файл может быть скалярной переменной содержащей имя указателя файла если он отсутсвует то осуществляется вывод в стандартный выходной поток STDOUT (если не было вызова select()).

Если список отсутсвует то выводится значение переменной $_.

Для вывода по умолчанию в другой файл необходимо использовать функцию select().

Так как print работает в списковом контексте, то все элементы списка так же вычисляются в списковом контексте т.е. функции будут возвращать списковые значения. Аргументы можно заключать в круглые скобки.

Если указатель файла – элемент массива то элемент нужно заключить в фигурные скобки для вычисления блока.

printf файл список

printf список

Аналогичен вызову 'print файл sprintf(список)'.

Первый элемент списка должен быть форматом printf() как и в С.

push массив, список

Добавить элементы массива значениями из списка.

Длина массива увеличивается на количество элементов списка.

q/строка/

qq/строка/

qx/строка/

qw/строка/

Обычные операторы строк. Смотри главу Операторы.

quotemeta выражение

Вычисляет выражение в котором метасимволы рассматриваются как обычные символы.

rand выражение

rand

Возвращает случайное число в диаппазоне между 0 и выражением.

Если выражение отсутсвует – между 0 и 1. Данная псевдослучайная последовательность сбрасывается функцией srand().

read файл, скаляр, длина, смещение

read файл, скаляр, длина

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

readdir директория

Возвращает имя следующего файла в директории открытой командой opendir(). В скалярном контексте возвращает все оставшиеся имена файлов. Если файлов больше нет то возвращает неопределенность в скалярном контексте и пустую строку в списковом.

readlink выражение

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

recv SOCKIT, SCALAR, LEN, FLAGS

Получить сообщение из сокита. Аналогичен системному recvfrom().

redo метка

redo

Перейти к началу блока минуя вычисление условия и блока continue. Если метка отсутсвует то переход к ближайшему внешнему блоку.

ref выражение

Возвращает true если выражение это ссылка иначе – false.

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

REF, SCALAR, ARRAY, HASH, CODE, GLOB

Если аргумент – ссылка на класс то возвращается имя класса.

Функция ref() аналогична функции typeof().

rename старое_имя, новое_имя_файла

Переименовать файл. Возвращает 1 в случае успеха иначе 0.

require выражение

require

Если выражение – число, требует что бы текущая версия Перл была не ниже указанной. Если строка – считывает библиотечный файл с указанным именем если он еще не прочитан.

Последний оператор библиотечного файла должен возвращать true.

Обычно это строка вида 1;

Если расширение имени файла отсутсвует то по умолчанию принимается «.pm»

В данной функции можно указывать путь расположения файла, а если библиотека расположена в

Вы читаете Введение в Perl
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату