Введение в Perl :: Маслов Владимир Викторович
Страница: 6 из 31 | |||
| ||||||||||||||
| ||||||||||||||
КАТЕГОРИИ КНИГПОСЛЕДНИЕ ОТЗЫВЫ О КНИГАХМихаил (19.04.2017 - 06:11:11) Антихрист666 (18.04.2017 - 21:05:58) Ладно, теперь поспешили вы... (18.04.2017 - 20:50:34) Роман (18.04.2017 - 18:12:26) АНДРЕЙ (18.04.2017 - 16:42:55) СЛУЧАЙНОЕ ПРОИЗВЕДЕНИЕСпит зрачковая душа 03.09.10 - 00:27 Хотите чтобы ваше произведение или ваш любимый стишок появились здесь? добавьте его! |
Например если мы хотим сделать переход на одну из трех меток " M1: ", " M2: " или " M3: " в зависимости от значений переменной $i равной 0, 1 или 2 то это лучше сделать следующим образом: goto («M1», «M2», «M3»)[ $i ]; здесь $i используется как индекс массива указанного непосредственно в выражении. goto подпрограмма – довольно редкий случай т.к. всегда проще и надежней вызвать подпрограмму «естественным» образом. POD операторы. Документирование программ. В Перл реализован очень удобный механизм для написания документации в момент создания программы. Для этого применяются специальные POD операторы. Если в теле программы интерпретатор встречает оператор начинающийся с символа '=' например: = head Набор стандартных процедур то пропускается все до слова ' =cut '. Это удобно для включения длинных на несколько строк или страниц комментариев. Затем с помощью специальной программы pod можно отделить текст документации от текста программы. Переменные В Перл существует три типа структур данных: скаляры, массивы скаляров и хеши ( hashes ) – ассоциативные массивы скаляров. Обычно элементы массивов индексируются целыми числами, первый элемент – нулевой. Отрицательное значение индекса обозначает номер позиции элемента с конца. Хеши индексируются строками символов. Имена скалярных переменных всегда начинаются с символа '$' даже когда обозначают элемент массива. Пример: $var1 # Простой скаляр 'var1' $var1[0] # Первый элемент массива 'var1' $var1{'first'} # Элемент с индексом 'first' В случае использования имени массива «целиком» или его «среза» перед именем массива ставится символ '@' . Пример: @var1 # Все элементы массива var1 ( $var1[0], $var1[1], ... $var1[n]) @var1[1,3,10] # Элементы $var1[1], $var1[3], $var1[10] @var1{'first','last'} # то же что и ( $var1{'first'}, $var1{'last'} ) Хеш «целиком» начинается с символа '%'. Пример: %var, %key, %years Имена подпрограмм начинаются символом ' & ' если из контекста не видно что это подпрограмма. Пример: &sub1, &test_prog, test(12) Имена таблиц символов всегда начинаются символом ' * '. Каждый тип переменных имеет свою область памяти поэтому $var1 и $var1[0] совершенно разные переменные, хотя $var1[0] часть массива @var1 . Так же @var1 и %var1 – разные массивы переменных. Имена переменных могут содержать любые буквенно-цифровы символы за исключением пробела и табуляции. Эти смволы используются в качестве разделителей. Большие и малые буквы различаются поэтому $var1 и $Var1 – разные переменные. В Перл по умолчанию имена меток и указателей файлов пишут большими буквами. Контекст. Большое значение для правильного употребления встроенных функций имеет контекст использования результата этих функций т.к. в противном случае они возвращают совершенно «непонятный» результат. В Перл имеется два главных контекста: скалярный и список ( list ). Проще говоря если в левой части выражения имеется ввиду одно единственное значение – то это скалярный контекст. Если множество значений – список. Пример: $var1 = <>; # Прочитать одну строку файла @var1 = <>; # Прочитать все строки файла в массив @var1 $var1 = (1,2,3); # $var = 3 – количество элементов @var1 = (1,2,3); # Создание массива @var1 с элементами 1,2,3 Скалярные значения. Все данные в Перл это скаляры, массивы скаляров и хеши скаляров. Скалярные переменные могут содержать числа, строки и ссылки. Преобразование числа – строки происходит автоматически по умолчанию. Скаляр может иметь только одно единственное значение, хотя это может быть ссылка на массив скаляров. Так – как Перл сам преобразовывает числа в строки и наоборот то программисту нет необходимости думать о том что возвращает функция. В Перл не существует типов «строка» или «число» или «файл» или что то еще. Это контекстно зависимый полиморфный язык для работы с текстами. Скаляр имеет логическое значение " TRUE " (истина) если это не нулевая строка или число не равное 0. В Перл существует два типа нулевых ( null ) скаляров – определенные ( defined ) и не определенные ( undefined ). |
ИНТЕРЕСНОЕ О ЛИТЕРАТУРЕ
ТОП 20 КНИГ
ТОП 20 АВТОРОВ
| ||||||||||||
|