Читать интересную книгу Введение в Perl - Владимир Маслов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 7 8 9 10 11 12 13 14 15 16

Если пустая строка походит под шаблон разделителя то исходное значение разделяется по символьно.

Предел удобно использовать для частичного разделения строки.

Пример:

($a, $b, $остаток) = split(/ /, «Один Два Три Четыре»,3);

здесь $a = 'Один', $b = 'Два' и $остаток = 'Три Четыре'

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

Пример:

@a = split(/([,.])/, «Один,Два.Три»);

здесь @a = («Один», "," ,"Два", ".", «Три»)

sprintf формат, список

Форматирует список по указанному формату аналогично функции sprintf() языка С.

sqrt выражение

Возвращает корень квадратный выражения.

srand выражение

Задает начальное значение для генератора случайных чисел оператора rand. Если аргумент отсутсвует то используется текущее машинное время.

stat файл

stat выражение

Возвращает 13 элементный массив параметров указанного файла или пустой список при ошибке. Применяется обычно следующим образом:

($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, $blksize,$blocks) = stat($filename);

где

$dev – имя устройства

$ino – номер i-узла

$mode – права доступа

$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 выражение, смещение, бит

Возвращает значени строки как вектор без знаковых целых.

wait

Ожидать окончание порожденного процесса. Возвращает PID для родительского процесса или -1 если нет процесса потомка.

Код завершения записывается в переменную $?.

waitpid PID, FLAGS

Ожидать окончания процесса потомка с указанным PID.

Возвращает либо PID этого процесса либо -1 если нет такого процесса. Код завершения записывается в перменную $?.

wantarray

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

1 ... 7 8 9 10 11 12 13 14 15 16
На этом сайте Вы можете читать книги онлайн бесплатно русская версия Введение в Perl - Владимир Маслов.

Оставить комментарий