Введение в Perl - Маслов Владимир Викторович. Страница 15

rewindir директория

Устанавливает указатель файлов открытой директории в начало для последующего чтения функцией readdir().

rindex строка, подстрока, позиция

rindex строка, подстрока

Подобна функции index , но возвращает позицию последнего вхождения подстроки в строку. Если указана позиция, то просмотр выполняется до нее.

rmdir директория

Удалить указанную директорию если в ней нет никаких файлов. Возвращает 1 при успехе и 0 при не удаче. При этом переменная $! содержит код (errno).

s///

Оператор подстановки. Смотри главу «Операторы».

scalar выражение

Вычисляет выражение в скалярном контексте и возвращает результат. В Перл нет специальной функции для принудительного

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

seek файл, позиция, отсчет

Установить указатель на произвольную позицию в файле.

Если отсчет равен 0 – позиционировать от начала файла, если 1 – от текущего положения, 2 – от конца файла. Возвращает 1 при успехе и 0 – неудаче.

seekdir директория, позиция

Установить указатель файла в открытой директории для последующего чтения функцией readdir(). Текущая позиция

может быть получена функцией telldir().

select файл

select

Возвращает текущий указатель файла– по умолчанию или делает текущим указанный. Таким образом если в функциях print или write не указан файл вывода то это осуществляется в файл указанный select. Переменные связанные с выводом так же действуют на вывод в этот файл.

select RBITS, WBITS, EBITS, TIMEOUT

Выполняет системный select()

semctl ID, SEMNUM, CMD, ARG

Системный вызов semctl() для SYSTEM V.

semget KEY, NSEMS, FLAGS

Системный вызов semget() для SYSTEM V.

semop KEY, OPSTRING

Системный вызов semop() для SYSTEM V.

send SOCKET, MSG, FLAGS, TO

send SOCKET, MSG, FLAGS

Послать сообщение через сокит. Аналогично системному send().

setpgrp PID, PGRP

Установить номер группы PGRP процессу с номером PID

0 = для текущего процесса.

setpriority WHICH, WHO, PRIORITY

Установить приоритет PRIORITY процессу пользователя WHO и группе WHICH.

setsockopt SOCKET, LEVEL, OPTNAME, OPTVAL

Установить параметры сокита. Воззвращает неопределенность при ошибке.

shift массив

shift

Удаляет первый элемент массива и возвращает его значение.

Если массив пустой то результат неопределенность. Если аргумент опущен – обрабатывается массив @ARGV в головной программе или @_ в подпрограмме.

shmctl ID, CMD, ARG

Системный вызов shmctl() System V

shmget KEY, SIZE, FLAGS

Системный вызов shmget() System V

shmread ID, VAR, POS, SIZE

shmread ID, STRING, POS, SIZE

Пишет или читает сегмент общедоступной памяти в System V.

shutdown SOCKET, HOW

Прекращает работу сокита методом HOW.

sin выражение

Возвращает в радианах синус выражения.

sleep выражение

sleep

Приостанавливает работу процесса на указанное число секунд или зацикливается если аргумент отсутсвует. Работа продолжается если получен сигнал SIGALARM. Возвращает время фактической паузы.

socket SOCKET, DOMAIN, TYPE, PROTOCOL

Открывает сокит и привязывает его к указателю SOCKET.

socketpair SOCKET1, SOCKET2, DOMAIN, TYPE, PROTOCOL

Создает «безымянную» пару сокитов в указаном DOMAIN. Возвращает true при успехе и false – неудаче.

sort подпрограмма список

sort блок список

sort список

Сортирует элементы списка и возвращает полученный список. Не существующие элементы списка отбрасываются. Если не указано имя подпрограммы или блок то сортирует в стандартном строковом порядке.

Указанная подпрограмма возвращает значения больше, меньше или равное нулю в зависимости от двух соседних элементов списка. Имя подпрограммы может быть указано переменной. Она не должна быть рекурсивной и два сравниваемых элемента списка передаются как глобальные переменные $main::a и $main::b. Это ссылки поэтому их изменение приводит к изменению самих элементов списка.

splice массив, смещение, длина, список

splice массив, смещение, длина

splice массив, смещение

Удаляет элементы массива начиная со смещения и указанной длины.

Заменяет их указанным списком. Возвращает удаленный список.

Если длина не указана удаляет все элементы списка начиная со смещения.

split /шаблон/, выражение, предел

split /шаблон/, выражение

split /шаблон/

split

Разделяет строку,указанную выражением, на массив элементов и возвращает его.

В скалярном контексте возвращает количество полученных элементов массива, а сам массив помещает в @_ (в списковом контексте поместить результат в @_ можно если применить ?шаблон?)

Если выражение отсутсвует то обрабатывается содержимое переменной $_.

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

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

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

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

Пример:

($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 – права доступа