PHP или Perl?

Инструмент нужен под задачу, и сравнение этих двух языков программирования сведется к обычной демагогии.

PHP более легкий, и изначально он заточен для того, чтобы отрисовывать динамически создаваемые веб-странички. Все остальное, что написано на php и запускается из командной строки или по крону, зачастую сделано нерационально.

Perl же изначально задуман для обработки текстовой информации. Сейчас это очень мощный язык программирования, с нормально реализованной многопоточностью. На нем тоже можно писать веб-приложения (и весьма успешно), но при прочих равных условиях на php это сделать проще.

Подход к программированию на этих языках отличается. Если проводить аналогии со строительством, то написание программ на Perl это в основном сборка уже готовых блоков (модулей) с последующей небольшой доработкой; разработка же на PHP – это как правило, разработка с нуля.

Благодаря Comprehensive Perl Archive Network (CPAN) каждый разработчик может пользоваться уже готовыми решениями для многих случаев жизни.

Например, я уже забыл, когда извлекал линки из HTML-страниц с помощью регулярных выражений; для этих целей есть модуль HTML::LinkExtor. Понадобилось вытащить настройки из конфигурационного файла в XML? Раз плюнуть, пользуйтесь XML::Simple. Надо написать поискового бота? Тоже несложно, LWP::RobotUA в помощь.

Зачастую задача программиста на Perl в сводится к тому, чтобы собрать в кучу все необходимые уже готовые модули и подружить их со своим кодом; он экономит кучу времени, пользуясь результатами труда других разработчиков.

Но надо отдать должное php, синтаксис там интуитивно понятный в основной своей массе. Одни только специальные переменные Perl могут вызвать отвращение с первого взгляда на них. Ну разве можно новичку самому догадаться о том, что хранится в переменных $`, $&, $_ или $/ ? Без стакана и чтения документации разобраться сложно. А вот с документацией у Perl все в порядке, команда perldoc позволит быстро найти все, что надо.