Где хорошие ресурсы для изучения новых возможностей Perl 5.10?
Я до сих пор не понимал, что Perl 5.10 обладает значительными новыми функциями, и мне было интересно, может ли кто-нибудь дать мне хорошие ресурсы, чтобы узнать о них. Я искал их в Google, и все, что я нашел, это некоторые слайды и быстрый обзор. Некоторые из функций (по крайней мере для меня) были бы приятными, если бы у них было больше объяснений.
Любые ссылки будут оценены.
-fREW
Ответы
Ответ 1
В статье Perl Tips появилась строка статей о Perl 5.10:
Есть также мои новые версии Perl 5.10 на странице Perl Training Australia, но так как они были написаны до выхода 5.10, некоторые вещи могут немного измениться. Я считаю, что rjbs Perl 5.10 для людей, которые не являются абсолютно безумными, теперь охватывает все, к чему привыкли мои слайды.
Все самое лучшее,
Пол
Обязательное предвзятое раскрытие: я написал почти все ресурсы, упомянутые в этом сообщении,
Ответ 2
perldelta manpage содержит все подробные детали. Там короткая (но информативная) презентация слайдов, Perl 5.10 для людей, которые не совсем безумны. И хорошая обсуждение PerlMonks по этой проблеме.
Ответ 3
Я нашел этот article полезным.
Этот один больше ориентирован на 5.10 Расширенные регулярные выражения.
А также Введение новичков в Perl 5.10.
Наконец, этот отличный отчет о том, почему вы должны начать использовать Perl 5.10 и из которого я извлек следующее:
- переменные состояния Нет больше переменных области видимости с внешним кудрявым блоком или непослушный мой трюк $f if 0 (последний теперь является синтаксической ошибкой).
- defined-or No more $x = defined $y? $y: $z, вы можете вместо этого записать $x = $y//$z.
- regexp улучшения. Большая работа, проделанная dave_the_m, для очистки внутренних компонентов, которая проложила путь для demerphq, чтобы добавить всевозможные новые интересные вещи.
- меньшие переменные следы Николас Кларк работал над реализацией SV, AV, HV и других структур данных, чтобы уменьшить их размер до точки, которая попадает в сладкое пятно на 32-битных архитектурах.
- меньшие постоянные подзаголовки Николас Кларк уменьшил размер постоянных субмарок (например, константа использования FOO = > 2). Результат при загрузке модуля, такого как POSIX, является значительным.
- сложены файловые массивы, которые вы можете теперь сказать if (-e -f -x $file). Предполагалось, что Perl 6 позволит это, но они двинулись в другом направлении. Ну что ж.
- lexical $_ позволяет вам вложить $_ (без использования локального).
- _ прототип, вы можете теперь объявить sub с прототипом. Если вызвано без аргументов, получает питание $(позволяет вам более чисто заменить встроенные функции).
Оператор
- x в списке теперь вы можете сказать, что мой @arr = qw (xyz) x 4. (Обновление: эта функция была включена в кодовую базу 5.8 после того, как была реализована в blead, и именно поэтому Somni замечает, что она доступна в 5.8.8).
- переключить истинный переключатель/заданную конструкцию, вдохновленную Perl 6
- оператор smart match (~~) для перехода с коммутатором
- Усовершенствования закрытия dave_the_m полностью обновили код обработки закрытия, чтобы исправить ряд ошибок и утечек памяти.
- быстрее Unicode lc, uc и /i быстрее работают в строках Unicode. Усовершенствования кеша UTF-8.
- улучшенные сортировки inplace sorts выполняются, когда это возможно, вместо использования временного. Функции сортировки можно назвать рекурсивно: вы можете отсортировать дерево
- карта в пустотном контексте уже не зла. Только морально.
- меньше кодов операций, используемых при создании анонимных списков и хэшей. Быстрее pussycat!
- улучшения tainting Больше вещей, которые могут быть испорчены, помечены как таковые (например, форматы sprintf).
- $# и $* удалены Меньше действия на расстоянии
- perlcc и JPL удалены. Эти вещи были просто магнитами-ошибками, и никто не заботился о них.
Ответ 4
Изучение Perl, пятое издание и позднее scover 5.10. Кроме того, ресурсы, о которых говорили другие люди, включая perldelta, довольно хороши. Я написал несколько статей о некоторых функциях Эффективный Perler.
Лучший способ начать - это выбрать интересную функцию и поиграть с ней. Это, как выяснили авторы руководств. То, как вы действительно должны начинать изучать что-либо, - это любой язык.
Ответ 5
Усовершенствования регулярных выражений включают именованные захваты: Посмотрите здесь
Ответ 6
См. слайды Ricardo Signes для его превосходного "Perl 5.10 для людей, которые не совсем безумны".
http://www.slideshare.net/rjbs/perl-510-for-people-who-arent-totally-insane