Какую версию Perl я должен использовать в Windows?

На веб-сайте http://win32.perl.org/ приведены ссылки на несколько дистрибутивов Perl для MS Windows.

В течение долгого времени я использовал ActivePerl из ActiveState, но недавно я перешел на http://strawberryperl.com/.

ИМХО Единственное преимущество, которое Active Perl по-прежнему имеет над Strawberry Perl, заключается в том, что он поставляется с Perl Tk, что означает простоту установки графического отладчика Devel::ptkdb. Кроме этого, я думаю, что Strawberry Perl имеет все преимущества.

11 ответов

Решение

Клубничный Perl становится все лучше и лучше. Одна проблема, с которой я неоднократно сталкивался с ActiveState, заключается в том, что мои модули иногда не могут быть установлены, потому что мне нужно обновить основной модуль, но они этого не допустят. Таким образом, все, кто не использует Windows, могут использовать мой код, но они не могут сделать это с Perl ActiveState.

ActiveState также имеет очень хитрую систему сборки, которая часто не в состоянии точно сообщить, почему модуль не удалось собрать. Я так устал от электронной почты и просьбы об этой информации, что в конце концов отказался. Я хочу, чтобы мой код выполнялся в Windows, но если ActiveState не предоставляет мне эту информацию и не дает мне возможности для обновления основных модулей, я просто не могу ее использовать. У некоторых из моих модулей НЕТ сбоев сборки в любой операционной системе - кроме тех, которые имеют ActiveState Perl. Поддержите Strawberry Perl и не беспокойтесь об ActiveState.

Если ActiveState исправил свою систему сборки и свою политику "не обновлять до основных модулей", стоит пересмотреть.

Нет лучшего дистрибутива Perl. Vanilla Perl (перемещаемый, распространяемый Perl) и более дружественный для разработчиков http://strawberryperl.com/ обладают значительным потенциалом.

Однако есть очень веская причина, почему ActivePerl так популярен. Преимущества в основном заключаются в простоте развертывания для ваших конечных пользователей (для использования диспетчера пакетов, PPM, не требуется компилятор). ActiveState PDK (Perl Development Kit) - также очень хороший способ упаковать полный бинарный файл Windows, который не требует установки Perl на компьютере пользователя.

К сожалению, многие очень хорошие модули CPAN (такие как привязки Perl для OpenSSL) не доступны через репозиторий ActiveState.

Как и большинство вещей, вы должны сделать свой выбор на основе того, какой дистрибутив лучше всего соответствует вашим потребностям.

Я в основном использую ActivePerl, но мне действительно нравится, куда движется Strawberry Perl. Мне нравится, что оболочка cpan "просто работает", и мне не нужно прыгать через кучу обручей для установки модулей XS. (например, ExtUtils::FakeConfig, хотя в более поздних сборках ActivePerl это менее необходимо). Я также рад возможности Perl на флэш-накопителе. Dev версия Portable Perl уже довольно удобна в использовании.

Я согласен, что основным преимуществом ActivePerl является Tk из коробки, но учтите, что с 5.10 ActivePerl больше не поставляется с Tk по умолчанию. Вместо этого он поставляется с Tkx.

Будущее определенно Strawberry Perl. Какой бы вариант вы ни выбрали (а эта проблема не уникальна для Windows), если вы распространяете конечный результат на другие машины, вам нужно быть осторожным в отношении инструкций по установке / установке, которые вы предоставляете.

Клубничный Perl больше похож на Perl на *nix. Он поставляется с MinGW, который может быть полезен сам по себе. Модули Perl также могут быть установлены с ppm или cpan.

Я предпочитаю Strawberry Perl. Например, он устанавливает gcc как часть mingwin, так что вы можете установить его прямо из CPAN.

Некоторое время я использовал Perl ActiveState, но у меня было много проблем с одной машины на другую, несмотря на то, что они (казалось бы) были одинаково настроены. Их упаковка модуля PPM также оставила плохой вкус. Это упрощает управление пакетами, но вы полагаетесь на них для обновления PPM после обновлений CPAN. Кроме того, PPM ни в коем случае не является полным содержанием CPAN; В последний раз, когда я использовал ActivePerl, мне было трудно найти все нужные мне модули, а те, что были там, часто были старой версией.

Я всегда использую Cygwin (xterms с bash намного лучше, чем окна cmd) и Perl, который поставляется с ним. Я устанавливаю модули Perl с оболочкой CPAN (команда "cpan"); это работает отлично.

ActiveState Perl уже давно считается де-факто Windows Perl. Хотя у него много недостатков, и многие из нас используют что-то еще, оно остается очень популярным. Если бы вы создавали код Perl для выполнения на машине Windows (отличной от вашей), я бы подумал написать его с ориентацией по умолчанию (или по умолчанию, насколько я мог бы его получить) на установку Perl AS, выполняющую его. Что-нибудь еще, и вы вводите барьеры для входа для других, пытающихся позже использовать ваше приложение.

У меня были серьезные проблемы со Strawberry, и я чувствовал, что поддержки не было. Хорошие люди в PerlMonks не могли мне помочь, и я сдался. Если эта страница оставляет вас с некоторой неуверенностью, есть ваш ответ.

Код, который я пишу, попадает в Fortune 500 компаний, поэтому "корпоративное" чувство полезно. До сих пор я использовал ActivePerl, и он отлично работал как для внутренних инструментов, так и для распространения среди этих крупных клиентов.

Я использую Active State Perl 5.014, который работает нормально.

Проблема в том, что у него нет последней версии Padre (IDE, среда отладки).

Другие вопросы по тегам