Я знаю Python (и набор других языков), и я думаю, что могло бы быть хорошо изучить Perl, даже если кажется, что большинство людей делает его наоборот.
Мое основное беспокойство не о самом языке (я думаю, что часть всегда легка), но об изучении Perlish (как контрастируется с Pythonic) способ сделать вещи; потому что я не думаю, что это будет стоить усилия, если я закончу тем, что программировал Python в Perl.
Таким образом, мои вопросы равняются в основном двум:
Одна область, где Perl более «удобен», - это его использование для однострочников. Python можно использовать для производства одинарных вкладышей, но часто он «неуклюжий» (или некрасивый). Обратите внимание, что Perl известен своей «лаконичностью» или «краткостью и лаконичностью», часто в ущерб удобочитаемости. Итак, исходя из Python, вам нужно научиться к нему привыкать.
Другая область - огромное количество модулей Perl в CPAN. Эквивалент этого - Pypi, но его модулей не так много, как у CPAN.
при этом оба делают похожие вещи и оба имеют свои достоинства.
Что касается вашего второго вопроса, вы можете посмотреть документацию Perl . Я считаю это очень полезным. Особенно прочтите Perl FAQ . Это лучший ресурс для меня, если я хочу узнать о Perl.
Я думаю Изучение Perl от O'Reilly Media - довольно хороший способ начать работу с Perl, даже если вы уже хорошо владеете Python.
Особенно, если вы хотите познакомиться с однострочным материалом (а это то, в чем Perl ДЕЙСТВИТЕЛЬНО хорош)
Одна из моих любимых книг для людей, которые хотят выучить его, а затем сделать работу - это Нетерпеливый Perl Грега Лондона, бесплатный нетбук, доступный на perl.org. Если вы программист, разбираетесь в написании сценариев, знаете концепции динамических языков и просто хотите знать, как это делает Perl, это отличный стартовый ресурс.
Эффективное программирование на Perl предназначена в основном для тех, кто знает основы синтаксиса Perl, но нуждается в изучении идиом. Мы также рассказываем о подобных вещах в нашем блоге Effective Perler :)
О лучших практиках читайте в Perl Best Practices Дэмиана Конвея. Не все рекомендуемые практики имеют смысл, но большинство из них - да.
Модуль Perl::Critic также помогает в использовании лучших практик.
Также загляните в блог Modern Perl Books.
Если у вас есть вопросы, Perlmonks - лучший веб-форум для получения помощи. Здесь много очень знающих, дружелюбных людей, которые могут и хотят ответить на ваши вопросы и обсудить достоинства различных подходов.
Взгляните на Лось
. Это современная объектно-ориентированная структура, похожая на CLOS
и то, что будет доступно в Perl6
. Он знакомит с новыми (безумными) концепциями ролей
и приближает вас к аспектно-ориентированному программированию
.
Функциональное программирование
. Ознакомьтесь с книгой Perl высшего порядка
Марка Джейсона Доминуса (PDF-файл доступен для загрузки с этого сайта).