Введение в Perl
Введение в Perl читать книгу онлайн
В книге приводятся начальные сведения по новому языку программирования Перл.
Данный язык получил широкое распространение в связи с развитием компьютерной сети Интернет. Все примеры в книге проверены для Перл версии 5.003 операционной системы Unix FreeBSD 2.1.0.
Для программистов, системных администраторов и пользователей компьютеров.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
$nlink – количество связей
$uid – идентификатор владельца
$gid – идентификатор группы
$rdev – тип устройства
$size – размер файла в байтах
$atime – дата последнего обращения
$mtime – дата последней модификации
$ctime – дата последнего изменения статуса
$blksize – размер блока на диске
$blocks – количество блоков в файле.
Если указан аргумент '_' то возвращается результата предыдущего
вызова stat().
study скаляр
study
Влючение метода частотного сравнения. Целесообразность применения зависит от количества поисков и количества констант в строке в которой ведется поиск.
Функция работает следующим образом:
Для указанного скаляра (если аргумент отсутсвует берется значение переменной $_) строится список указателей на каждый символ строки.
Затем когда начинается поиск первыми просматриваются символы которые наиболее редко встречаются в английском языке.
Выигрыш по времени очевиден когда выполняется многократный поиск в одной и той же строке и время затраченной на индексацию окупается.
substr выражение, смещение, длина
substr выражение, смещение
Возвращает подстроку выражения начиная со смещения и заданной длины. Если смещение отрицательное то отсчет ведется от конца строки.
Если длина не указана то берется все до конца строки.
symlink старый_файл, новый_файл
Создает новый файл символически связанный со старым т.е. создает ссылку на файл. Возвращает 1 при успехе и 0 – неудаче.
syscall список
Выполняет системную функцию. Первый элемент списка – это имя функции а остальные элементы – ее аргументы.
Если функция не выполнима то возвращается фатальная ошибка.
Аргументы интерпретируются следующим образом.
Если аргумент число, то оно считаестя целым. Если не число то аргумент считается указателем на строку. Вам необходимо обеспечить достаточную длину аргумента для подстановки значения указателя. В Перл передается максимум 14 параметров. Обычно этого достаточно.
sysread файл, скаляр, длина, смещение
sysread файл, скаляр, длина
Прочитать из файла указанное число байт в скаляр с помощью системного вызова read(). Смещение обозначает позицию в скаляре после которой будут вставлены прочитанные байты.
system список
Делает то же самое что и «exec список» с той лишь разницей что вызов fork() делается первым и родительский процесс ждет завершения потомка. Возвращает значение аналогичное функции wait().
Для получения действительного кода завершения необходимо разделить на 256.
syswrite файл, скаляр, длина, смещение
syswrite файл, скаляр, длина
Записать в файл укзанное число байт скаляра с помощью системного вызова write(). Смещение указывает позицию в скаляре
откуда начинается запись.
tell файл
tell
Возвращает текущую позицию указателя в открытом файле. Если файл не указан то последнего читаемого файла.
telldir директория
Возвращает текущую позицию указателя в открытой директории.
Обычно это параметр для позиционирования указателя директории функцией seekdir().
tie переменная, класс, список
Присваивает переменную классу. Список – это аргументы new метода класса (TIESCALAR, TIEARRAY или TIEHASH).
Возвращает указатель на созданный новый объект класса который удобен для вызова других методов класса.
Внимание! Такие функции как keys() и values() могут вернуть в качесте значения огромное количество данных.
Для создания объекта ассоциативного типа необходимо определение следующих методов:
TIEHASH classname, LIST
DESTROY this
FETCH this, key
STORE this, key, value
DELETE this, key
EXISTS this, key
FIRSTKEY this
NEXTKEY this, lastkey
Обычного массива:
TIEHASH classname, LIST
DESTROY this
FETCH this, key
STORE this, key, value
[others TBD]
Скалярного типа:
TIEHASH classname, LIST
DESTROY this
FETCH this, key
STORE this, key, value
time
Возвращает количиство секунд начиная с 1 января 1970 г 00:00:00 UTC. Годы не разделяются на високосные.
times
Возвращает 4-х элементный массив значений:
($user, $system, $cuser, $csystem) = times;
где:
$user – пользовательское время процесса в секундах.
$system – системное время текущего процесса.
$cuser – время процесса-потомка текущего прцесса.
$csystem – его системное время.
tr///
Опрератор транслятор. Подробно смотри главу «Операторы».
truncate файл, длина
truncate выражение, длина
Усекает длину указанного файла.
uc выращение
Возвращает строку выражения в которой малые буквы заменены на заглавные.
ucfirst выражение
Возвращает строку выражения в которой первая буква заменена на заглавную.
umask выражение
umask
Устанавливает маску umask и возвращает старое значение.
Без аргумента возвращает текущее значение.
undef выражение
undef
Делает неопределенным значение выражения. Применяется только для скалярных переменных, целых массивов или подпрограмм. Всегда возвращает неопределенное значение.
unlink список
Удаляет файлы указанные в списке. Возвращает количество удаленных файлов. Только супервизор может удалять директории с файлами если Перл запущен с ключом -U.
unpack шаблон, выражение
Функция обратная pack(). Распаковывает строку выражения по указанному шаблону в массив значений. В скалярном контексте возвращает значение только первого элемента. Шаблоны такие же как и в pack().
Символ '%' в шаблоне означает что вы хотите получить вместо значения его контрольную сумму. По умолчанию 16 битовую.
untie переменная
Исключает переменную из класса указанного tie().
unshift массив, список
Противоположное shift. Помещает элементы списка в начало массива.
use модуль список
use модуль
Указывает библиотечный модуль из которого можно вызывать подпрограммы. Список перечисляет имена подпрограмм которые добавляются к текущей область имен. Если не указан то все имена.
Действие аналогично блоку:
BEGIN { require модуль; import модуль список; }
Сам модуль должен распологаться в системной области Перл файлов.
utime список
Изменяет дату обращения и модификации файлов из списка.
Первые два элемента списка должны указывать новое значение даты обращения и модификации.
Возвращает количество измененных файлов.
values хеш
Возвращает обычный массив со всеми значениями хеша.
В скалярном контексте возвращает количество значений хеша.
vec выражение, смещение, бит