2008-09-16 11 views
91

Веб-сайт win32.perl.org содержит ссылки на несколько дистрибутивов Perl для MS Windows.Какую версию Perl я должен использовать в Windows?

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

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

+0

С этого поста я начал перекомпилировать Strawberry Perl с большим количеством дополнительных модулей, включая Moose, Dancer и Padre. Читатели могут также подумать об этом: http://dwimperl.com/ – szabgab 2012-02-25 06:52:25

ответ

76

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

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

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

+8

Возможно обновление основных модулей от AS Perl 5.8.8 build 518 (выпущено в январе 2007 г.). Они также обновили свою систему сборки CPAN в 2008 году, но я точно не знаю, когда именно. – 2009-05-08 10:42:17

+1

Клубника Perl великолепна. Однако, если вы используете MSys Bash в качестве оболочки, существует [известная проблема] (https://rt.cpan.org/Public/Bug/Display.html?id=82837), что такие команды, как `cpan`, не Работа. – 2013-01-21 13:59:52

17

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

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

2

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

+0

AFAIK, PAR pp отлично работает с Strawberry, что является большим преимуществом с точки зрения распространения ваших собственных приложений, потому что IIUC вам понадобится лицензия OEM, чтобы иметь возможность распространять pp compiled apps, если вы используете их библиотеки DLL. – 2009-06-19 17:17:48

+2

@Sinan, ваше утверждение о лицензировании ActivePerl и PAR неверно. См. Раздел 4 лицензии. Лицензия также позволяет вам перераспределять части Пакета как часть приложения, сгенерированного оберточными инструментами, такими как PAR, PerlApp или Perl2Exe. Однако эта лицензия не позволяет вам (а) перераспределять пакет в целом, (б) использовать его части для создания языкового распространения или (в) перераспределять компоненты PerlScript, Perl для ISAPI или PerlEx с вашим приложением. ` http://www.activestate.com/activeperl/license/ – daotoad 2010-01-27 23:37:02

+0

@daotoad Хмммм ... Я могу поклясться, что более ранняя версия этого не допустила, но я даже не уверен, правильно ли я помню. Спасибо за исправление. – 2010-01-27 23:55:43

13

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

28

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

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

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

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

2

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

6

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

3

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

1

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

4

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

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

0

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

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

Смежные вопросы