Perl / 16. Расширенные возможности Perl

Материал, который мы рассматривали ранее, составлял основу Perl – то, что должен знать каждый пользователь Perl. Однако существуют и другие возможности. Они не являются строго обязательными, но могут стать весьма ценным дополнением к вашему арсеналу. Самые важные из них были собраны в этой главе. Пусть вас не смущает название главы; она не сложнее для понимания, чем предыдущие главы. Все описанные возможности являются «расширенными» лишь в том смысле, что они не предназначены для новичков. При первом чтении книги вы можете пропустить (или пролистать) эту главу, чтобы перейти непосредственно к использованию Perl. Вернитесь к ней через месяц-два, когда захотите освоить новые возможности Perl. Считайте эту главу одной большой сноской.
Статьи раздела '16. Расширенные возможности Perl':
Отбор элементов списка
Иногда вас интересует лишь некоторое подмножество элементов из списка. Допустим, из списка чисел необходимо отобрать только нечетные числа или из текстового файла отбираются только те строки, в которых присутствует подстрока Fred....
Перехват ошибок в блоках eval
Иногда даже самый обычный, повседневный код приводит к фатальным ошибкам в программе. Любая из следующих типичных команд может стать причиной аварийного завершения: $barney = $fred / $dino; # Деление на нуль? print "match\n" i...
Преобразование элементов списка
Другая распространенная задача – преобразование элементов списка. Предположим, имеется список чисел, которые необходимо перевести в «денежный формат» для вывода, как в функции &big_money. Однако исходные данные изменяться не должн...
Срезы
Часто оказывается, что из всего списка требуется обработать лишь часть элементов. Допустим, библиотека хранит информацию о своих читателях в большом файле. Каждая строка файла описывает одного читателя в виде шести полей, разделен...
Срезы массивов
Предыдущий пример можно сделать еще проще. При создании срезов на базе массивов (вместо списков) круглые скобки необязательны. Следовательно, срез может выглядеть так: my @numbers = @names[ 9, 0, 2, 1, 0 ]; Дело не сводится ...
Срезы хешей
В полной аналогии со срезами массивов часть элементов хеша тоже может быть выделена в срез хеша. Помните пример с хранением результатов игры в боулинг в хеше %score? Мы можем извлечь эти результаты как в список элементов хеша, так...
Упрощенная запись ключей хешей
В Perl предусмотрено множество способов сокращенной записи, упрощающих работу программиста. Вот один из них, весьма удобный: некоторые ключи хешей необязательно заключать в кавычки. Конечно, это возможно не для всех ключей, потому...

Страницы: 1