Добро пожаловать на наш сайт!

Сайт посвящен компьютерам, софту, программированию и вообще информационным технологиям.

Надеямся Вам у нас понравится.

 
 

Меню сайта

 
Введение в Perl

Для этого в Перл к имени переменной добавляется символ '
*' Подбное выражение называют
'type glob'так как в Юниксе символом
'*'обозначают «все возможные значения». Поэтому
'*'для массива означает «все элементы массива».
Для скаляров употряблять
'*'не имеет смысла т.к. они и так передаются ссылкой и вы можете изменять значение параметра изменяя например переменную
$_[0].

Переопределение встроенных функций.
Большинство встроенных функций Перл можно переопределить своими собственными. Обычно это делают для удобства совместимости Перл для разных платформ систем.
Для этого нужно перечислить имена этих функций в виде:
use subs 'функция1', 'функция2' ....;
и далее в модуле определить сами функции.

Автозагрузка.
Если вы попытаетесь вызвать не существующую функцию то Перл выдаст немедленно сообщение об ошибке. Но если вы определите подпрограмму с именем
'AUTOLOAD'то она будет вызвана с теми же параметрами а переменная
$AUTOLOADбудет содержать имя не существующей подпрограммы. Данный механизм очень удобен для средств отладки.


*Модули (packages)*

В Перл реализован механизм модулей. Модуль это группа подпрограмм и переменных обычно включенных в один файл. Внутри одного модуля можно определить другой модуль. Начало модуля определяется директивой:
packages имя_модуля;
Конец модуля это конец блока или файла. Головной модуль имеет по умолчанию имя 
main. На имя внутри модуля можно ссылаться добавляя '
::' после имени модуля.
Например:
$main::var1– переменная в головном модуле.
::var1 – то же самое. Имя main можно опускать.
$модуль1::var1 – переменная в модуле
'модуль1'
$модуль1::модуль2::var1–
Модуль2содержится в модуле 1.
Только идентификаторы начинающиеся с буквы или символа '
_' хранятся в пространтсве имен текущего модуля. Остальные хранятся в пространстве головного модуля
main.
Кроме этого имена
STDIN, STDOUT, STDERR, ARGV, ARGVOUT, ENV, INCи
SIGтак же хранятся в головном модуле.

Таблицы имен.
Все имена модуля хранятся в ассоциативном массиве (хеше) с именем модуля к которому добавлены символы "
::".

Hosted by uCoz