Владимир Маслов - Введение в Perl
- Название:Введение в Perl
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Владимир Маслов - Введение в Perl краткое содержание
В книге приводятся начальные сведения по новому языку программирования Перл.
Данный язык получил широкое распространение в связи с развитием компьютерной сети Интернет. Все примеры в книге проверены для Перл версии 5.003 операционной системы Unix FreeBSD 2.1.0.
Для программистов, системных администраторов и пользователей компьютеров.
Введение в Perl - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
списковом причем скалярные аргументы идут первыми. В дальнешем списковые аргументы мы будем обозначать словом 'LIST' это значит что функция имеет список аргументов разделенных запятой.
Аргументы функций можно заключать в круглые скобки и таким образом обозначать что «это функция» и приоритет не имеет значения иначе это списковый или унарный оператор с определенным фиксированным приоритетом. Пробел после имени функции и скобкой значения не имеет. Поэтому будьте внимательны!
Пример:
print 1 + 2 + 3; # результат 6
print(1+2)+3; # результат 3
print (1+2)+3; # опять 3
print (1+2+3); # 6
Если функция возвращает результат как в скалярном так и в списковом контексте то код выхода по ошибке – скаляр c неопределенным значением или пустой список.
Запомните правило:
Не существует общего правила преобразования списка в скаляр!
Каждый оператор и функция имеют свой вид значения в скалярном котексте.
Для одних это количество элементов из скалярного контекста. Для других первый элемент списка или последний или количество успешных операций. Каждый свое если вы специально не указываете.
-X указатель файла
-X выражение
-X
Проверка файла, где 'X' одно из ниже описанных значений.
Это унарный оператор с одним аргументом – либо именем файла либо указателем файла. Проверяет одно из условий. Если аргумент не указан то берется значение переменной $_. Для ключа -t STDIN.
Результат 1 если true и '' если false или неопределенное значение если файл не найден. Несмотря на странный вид это унарный оператор с соответсвующим приоритетом. Аргумент можно заключать в круглые скобки.
' X' имеет следующие значения:
-r Файл разрешен на чтение эффективным uid/gid
-w на запись -//-
-x исполнение -//-
-o принадлежит эффективному uid (идентификатор пользователя)
-R Файл разрешен на чтение реальным uid/gid
-W на запись -//-
-X исполнение -//-
-O принадлежит реальному uid
-e файл существует
-z пустой
-s не пустой
-f обычный текст
-d директория
-l символическая ссылка
-p pipes (конвейер)
-S socket (гнездо)
-b специальное блочное устройство
-c -//– символьное -//-
-t указатель на уст-во tty
-u установлен бит setuid
-g -//– setgid
-k -//– sticky
-T текстовой файл
-B двоичный
-M «возраст» файла в днях на момент старта скрипта
-A дней с последнего чтения
-C дней с последней модификации inode
Абсолютное значение выражения
Окрыть новый сокет по внешнему запросу. Аналогично системному вызову accept(). Возвращает адрес или false в случае неудачи.
Послать сигнал SIGALARM текущиму процессу по истечении указанного промежутка времени. Не допустимо делать несколько вызовов одновременно в одном промежутке времени.
Возвращает остаток времени предыдущего счетчика.
Арктангес отношения Y к X в пределах от -pi до +pi.
Назначить сетевой адрес сокиту. Подобно системному вызову bind. Возвращает true в случае успеха и false иначе.
Имя – пакетный адрес сокита.
Открыть файл для двоичного (binary) режима доступа.
В обычном режиме при вводе символы CR LF транслируются в LF, а при выводе LF транслируется в CR LF.
bless ссылка, класс
bless ссылка
Данная функция определяет что объект указанный ссылкой принадлежит классу. Если класс не указан то он относится к текущему классу. Обычно это последний оператор в конструкторе объекта.
Необходимо обязательно указывать имя класса если определяемый объект может наследоваться классом-потомком.
caller выражение
caller
Возвращает контекст вызова текущей подпрограммы.
В скалярном контексте true если это подпрограмма или процедура вызванная операторами eval() или require() и false – иначе.
В списковом это список ($package, $filename, $line)
где
$package– имя пакета
$filename– имя файла пакета
$line– номер строки откуда был сделан вызов.
Если указано выражение то возвращается список:
( $package, $filename, $line, $subroutine, $hasargs, $wantargs)
Выражение определяет «глубину» вложенности просмотра стека вызовов.
$subroutine– имя подпрограммы
$hasargs– имеющиеся аргументы
$wantargs– необходимые аргументы
Применение данной функции в DB пакете возвращает более детальную информацию. К списку аргументов добавляется список @DB::args.
Перейти в директорию указанную выражением. Если выражение отсутсвует то перейти в «домашнию» директорию.
Возвращает true в случае успеха и false – неудачи.
Изменить права доступа к файлам указанным в списке.
Первый элемент в списке – числовое ,обычно восьмеричное значение прав.
Возвращает количество файлов которым были изменены права.
Пример:
chmod 0666 'f1', 'f2', 'f3';
chomp список
chomp
Удаляет в конце строки символ указанный переменной $/.
Обычно это 'LF'. Возвращает количество удаленных символов. Если переменная не указана то используется переменная $_.
Если указан список то обрабатывается каждая строка списка и возвращается общее количество удаленных символов.
chop список
chop
Полностью аналогично функции chomp но всегда удаляет последний символ строки.
Изменить «владельца» и «группу» файлов списка.
Первый элемент – номер нового владельца, второй номер новой группы а далее список файлов.
В большинстве Юникс-систем вы не сможете сменить владельца если вы не суперпользователь, но можете изменить группу если это одна из ваших «вторичных» групп.
Возвращает символ с указанным кодом кодировки.
Сделать «корневой» указанную директорию.
«Корневая» – значит внутри программы на нее можно ссылаться как ' /'.
Закрыть открытый файл или поток. Можно не использовать
если один и тот же файл открывается повтортно т.к. он будет автоматически закрываться новым вызовом open().
Закрыть директорию открытую функцией opendir().
Читать дальшеИнтервал:
Закладка: