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

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

В течение длительного времени я использовал ActivePerl от ActiveState, но в последнее время я переключился на Strawberry Perl.

IMHO Единственное преимущество, которое Active Perl по-прежнему имеет в отношении Strawberry Perl, - это тот факт, что он поставляется с Perl Tk, что означает его простоту установки Devel:: ptkdb графический отладчик. Помимо этого, я думаю, что Strawberry Perl обладает всеми преимуществами.

Ответ 1

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

Ответ 8

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

Ответ 9

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

Ответ 10

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

Ответ 11

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

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