Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Perl / Руководство Маслов /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Встроенные функции - Программирование от RIN.RU
Встроенные функции

open файл, выражение
open файл
               К таблице


Открыть файл с указанным именем. Аргумент "файл" - это фактически указатель на блок описания файла. Если имя (выражение) файла отсутствует, то имя считается таким же как и указатель файла. Если перед именем стоит символ "<" то файл открывается только на чтение (значение по умолчанию). Если ">" - на запись. Если ">>" - на добавление записей. "+>" или "+<" - файл открыт на чтение и запись одновременно. Если имя файла начинается с символа "|", то имя считается системной командой, на вход которой выводятся данные (поток). Имя "-" - стандартный вход (STDIN), ">-" - стандартный вывод (STDOUT). Функция возвращает true при успехе и false - неудаче.


Если имя (выражение) начинается с символов ">&", то остаток имени считается именем указателя файла, который открывается повторно. Символ "&" может стоять после "<", ">>", "+>", "+>>" и "+<". Режим повторного открытия должен соответствовать первому. Выражение вида "<&=N" где N -число, эквивалентно системному вызову fdopen(). Если имя "|-" или "-|", то происходит "расщепление" (fork) процесса на потомка и родителя. При этом возвращается номер процесса потомка (PID) внутри родительского процесса и 0 - внутри потомка. При этом запись/чтение в файл родительским процессом воспринимается как чтение/запись потомком. Для потомка это стандартный ввод/вывод. Родительский процесс ждет завершения потомка после закрытия потока и получает код завершения в переменной $?. Имя файла не должно содержать пробелов как в начале, так и в конце.


opendir указатель, выражение                К таблице


Открыть директорию с именем выражения для обработки функциями readdir(), telldir(), seekdir(), rewinddir() и closedir(). Возвращает true при успехе.


ord выражение                К таблице


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


pack шаблон, список


Упаковывает список в двоичную структуру по шаблону. Шаблон - это строка символов, описывающая порядок и тип упакованных значений.


A - текстовая строка, добавляется пробелами.
a - текстовая строка, добавляется 0 символом.
b - битовая строка (возрастающая нумерация бит)
B - битовая строка (убывающая нумерация бит)
h - шестнадцатеричная строка ( младший байт - первый)
H - шестнадцатеричная строка (старший байт первый)
c - символ со знаком
C - символ без знака.
s - короткое целое (один байт) со знаком.
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) записываются в стандартном для каждой машины формате и могут быть разными для разных типов машин. Заметьте, что Perl всегда использует двойную точность (double), поэтому упаковка и распаковка по типу "f" приведет к потере точности. Шаблоны для распаковки и упаковки совершенно одинаковы.


Примеры:


print(pack("ccc",65,66,67)); # Результат ABC
print(pack("A4A3","ab","cdefg")); # "ab cde"
print(pack("a4a3","ab","cdefg")); # "ab\0\0cde"

<<<  НазадВперед  >>>
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

От простого к сложному

Запуск Perl-программы

Синтаксис

Модули

Переменные

Встроенные переменные

Регулярные выражения

Операторы и приоритеты

Форматы отчетов

Подпрограммы

Отладка Perl программ.

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь