За последние 10 лет произошло колоссальное развитие Perl . Это развитие похоже на то, как развивается Java. Сам язык программирование Java - практически не меняется, но развивается инфраструктура. Сегодня знание Java - это знание фреймворков, а не знание синтаксиса языка.
Аналогичная ситуация происходит с Perl. Я не спорю, что 5.6 и 5.12 существенно отличаются, но эти отличия скорее эволюционные, которые не меняют подхода к написанию программ. Инфраструктурное развитие языка - это и есть основная составляющая того колоссального развития Perl. Инфраструктура - это фреймворки, а фреймворки - это каркас архитектуры приложения, который задает подход. Таким образом развитие фреймворков меняет подходы к написанию приложений.
Знание CPAN - это сегодняшнее требование к профессиональному Perl-программисту. Знание CPAN - это не умения устанавливать модули, это умение применить подходящий инструмент для решения задачи.
Вот небольшой список инструментов современного Perl-программиста:
- Moose || Mouse
- Catalyst || Mojolicious || Dancer || Jifty || CGI::Application
- DBIx::Class || Rose::DB::Object || ORLite
- AnyEvent || POE || IO::Lambda
- HTML::Template || Template::Toolkit || HTML::CTPP2
- DateTime && Devel::NYTProf && TryCatch
Желательно, как минимум, знать про существование таких вещей. А про возможности модулей, которые идут в поставке с Perl вы просто обязаны знать!
Вы должны знать про новые стандартные модули/прагмы (очень приятные и душевные модули ;)) :
- Params::Check
- Term::UI
- Object::Accessor
- Time::Piece
- Time::Seconds
- File::Fetch
- parent
- autodie
Если в это списке есть незнакомые названия, то Вы просто обязаны ввести perldoc Имя::Модуля.
PS: Хотите быть конкурентным на рынке программирования, тогда не отставайте от современного Perl ;).