"Дмитрий Леонов. Использование Perl в интернет-технологиях" - читать интересную книгу автора Эту же операцию можно применить к списку:
($a, $b, $c, $d)[0, 1]; Эта техника используется, к примеру, для получения информации о времени: функция localtime преобразует результат, возвращаемый функцией time (время в секундах от 1.01.1970), в зависимости от контекста, либо в строку вида "Fri Sep 15 11:12:13 2000", либо в массив из девяти элементов (секунды, минуты, часы, день, месяц, год, день недели, день года, признак летнего времени): ($day, $month, $year) = (localtime(time))[3, 4, 5]; Следует отметить, что месяцы, дни года и дни недели начинаются с нуля, причем нулевым днем недели считается воскресенье, а годы считаются от 1900 года. Таким образом, 2000 году соответствует значение 100 (из-за того, что многие программисты забыли этот факт, в начале 2000 года на разных страницах сети можно было наблюдать дату вида 1.01.100 или 1.01.19100). При записи списков вместо операции "," можно воспользоваться => : запись ("one", 1, "two", 2, "three", 3) эквивалентна (one => 1, two =>2, three => 3), что может сделать список более наглядным. Для работы с массивом как со стеком используются функция push, добавляющая элементы (один или несколько) в конец массива, и функция pop, удаляющая последний элемент. Для работы с началом массива используются аналогичные функции unshift и shift. По умолчанию все эти функции работают с встроенным массивом @_. Функция reverse меняет порядок следования элементов списка-аргумента на обратный и возвращает результат. Функция sort по умолчанию сортирует аргументы по возрастанию, рассматривая их как строковые переменные. хэши. Их отличие от простых массивов в том, что индексами являются не последовательные целые числа, а произвольные скалярные величины. Инициализируются хэши списком, четные элементы которого (начиная с нуля), являются индексом, четные - значением, и начинаются с символа %: %a = (one => 1, two =>2, three => 3); Доступ к элементу хэша записывается как $a{1} (в нашем примере вернет "one"). Функция key возвращает список ключей переданного ей хэша, функция values - список значений. Функция each последовательно проходит по хэшу, возвращая пару ключ-значение в виде списка из двух элементов. Удалить элемент хэша можно функцией delete: delete $a{1}; Представить себе современный язык программирования, не имеющий ссылочных типов данных, невозможно. Не обделен ими и Perl. Здесь можно получить ссылку на любой из встроенных типов, и присвоить ее некоторой скалярной переменной: $ref1 = \$var; $ref2 = \@array; $ref3 = \%hash; Для доступа к скалярным переменным, на которых ссылается ссылка, можно воспользоваться следующими конструкциями: $$ref1; ${$ref1}; |
|
|