Где найти хорошие ресурсы для изучения новых возможностей Perl 5.10?
До недавнего времени я не осознавал, что в Perl 5.10 появились новые важные функции, и мне было интересно, кто-нибудь может дать мне хорошие ресурсы для изучения этих возможностей. Я искал их в Google, и все, что я нашел, было несколько слайдов и краткий обзор. Некоторые функции (по крайней мере для меня) были бы хорошими, если бы у них было больше объяснений.
Любые ссылки будут оценены.
-fREW
6 ответов
В Perl есть несколько статей о Perl 5.10:
- Регулярные выражения в Perl 5.10
- Perl 5.10: определено-или и состояние
- Переключатель (дано и когда)
- Perl 5.10 и Hash::Util::FieldHash
- Смарт-матч в Perl 5.10
На странице презентаций Perl Training Australia есть также слайды " Что нового в Perl 5.10", но, поскольку они были написаны до выпуска 5.10, некоторые вещи могли немного измениться. Я считаю, что Perl 5.10 от rjbs для людей, которые не являются полностью безумными, теперь охватывает все, к чему привыкли мои слайды.
Всего наилучшего,
Павел
Обязательное смещение: я написал почти все ресурсы, упомянутые в этом посте,
Я нашел эту статью полезной.
Этот более сфокусирован на 5.10 расширенных регулярных выражениях.
А также Введение в Perl для начинающих 5.10.
Наконец, это отличное резюме о том, почему вы должны начать использовать Perl 5.10 и из которого я извлек следующее:
- Переменные состояния Больше нет переменных области видимости с внешним фигурным блоком или непослушного трюка my $f если 0 (последний теперь является синтаксической ошибкой).
- определено или не более $x = определено $y? $y: $z, вместо этого вы можете написать $x = $y // $z.
- Улучшения регулярных выражений Много работы, проделанной dave_the_m, чтобы очистить внутренности, что проложило путь для demerphq для добавления всевозможных новых интересных вещей.
- Небольшие переменные следы Николас Кларк работал над реализацией SV, AV, HV и других структур данных, чтобы уменьшить их размер до точки, которая может оказаться в центре внимания 32-битных архитектур.
- меньше константных субпопуляций Николас Кларк уменьшил размер константных подпунктов (как использование константы FOO => 2). Результат при загрузке такого модуля, как POSIX, значителен.
- Сложенные тесты файлов теперь можно сказать, если (-e -f -x $file). Perl 6 должен был это позволить, но они двигались в другом направлении. Ну что ж.
- Лексический $_ позволяет вам вкладывать $_ (без использования локальных).
- _ прототип, теперь вы можете объявить подпрограмму с прототипом .Если вызывается без аргументов, он получает $ (позволяет более аккуратно заменить встроенные функции).
- Оператор x в списке теперь может называться my @arr = qw(x y z) x 4. (Обновление: эта функция была перенесена в кодовую базу 5.8 после ее реализации в blead, как Somni замечает, что она доступна в 5.8.8).
- переключить истинный переключатель / данную конструкцию, вдохновленную Perl 6
- оператор умного совпадения (~~) для переключения
- Улучшения замыкания dave_the_m полностью переработал код обработки замыканий, чтобы исправить ряд ошибок и утечек памяти.
- быстрее Unicode lc, uc и / i быстрее в строках Unicode. Улучшения кеша UTF-8.
- улучшенные сортировки на месте выполняются, когда это возможно, вместо использования временных. Функции сортировки можно вызывать рекурсивно: вы можете сортировать дерево
- карта в пустом контексте больше не является злом. Только морально.
- меньше опкодов, используемых при создании анонимных списков и хэшей. Быстрее киска!
- Улучшения порчи Другие вещи, которые могут быть испорчены, помечены как таковые (например, форматы sprintf)
- $ # и $* удалены Меньше действий на расстоянии
- Perlcc и JPL удалены. Эти вещи были просто ошибочными магнитами, и никто не заботился о них.
В man- странице perldelta есть все мелкие детали. Существует краткая (но информативная) слайд-презентация Perl 5.10 для людей, которые не являются полностью безумными. И хорошее обсуждение PerlMonks по этому вопросу.
Изучение Perl, пятое издание и позже scover 5.10. Помимо этого, ресурсы, которые упоминали другие люди, в том числе perldelta, довольно хороши. Я написал пару статей о некоторых возможностях "Эффективного Perler".
Лучший способ начать - выбрать интересную функцию и поиграть с ней. Вот как это выяснили авторы руководств. Вот как вы должны начать изучать что-либо, касающееся любого языка.
Улучшения в Regex включают именованные захваты: смотрите здесь
См. Слайды Рикардо Сигнеса для его превосходного "Perl 5.10 для людей, которые не являются полностью безумными".
http://www.slideshare.net/rjbs/perl-510-for-people-who-arent-totally-insane