ком. S – короткое целое без знака. i – целое (два байта) со знаком. I – целое без знака. l – длинное целое (4 байта) со знаком. L – длинное целое без знака. n – короткое в «сетевом» формате. N – длинное в «сетевом» формате. v – короткое в «VAX» формате. V – длинное в «VAX» формате. f – single float. 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")); # «ab\0\0cde»
pipe READHANDLE, WRITEHANDLE Аналогичен системному pipe().
pop массив Удаляет и возвращает последний элемент массива. Длина массива уменьшается на 1. Результат не определен если массив пустой. Если имя массива отсутсвует то извлекает из @ARGV для головной программы и @_ для подпрограммы.
pos скаляр Возвращает смещение от последнего m//g поиска.
print файл список print список print Выводит строку или список строк в файл.
|