Яку версію Perl я повинен використовувати в Windows? [зачинено]


98

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

Тривалий час я використовував ActivePerl від ActiveState, але нещодавно я перейшов на полуничний Perl .

IMHO Єдиною перевагою, яку Active Perl все ще має над полуничним Perl, є той факт, що він поставляється з Perl Tk, що означає його простий в установці Devel :: ptkdb графічний налагоджувач. Крім цього, я думаю, що у полуниці Perl є всі переваги.


Починаючи з цієї посади, я почав пакувати полуничний Perl з великою кількістю додаткових модулів, включаючи Moose, Dancer та Padre. Читачі, можливо, захочуть це також розглянути: dwimperl.com
szabgab

Відповіді:


80

Полуничний перл просто стає все кращим і кращим. Одна з проблем, з якими я неодноразово виникала з ActiveState, полягає в тому, що мої модулі інколи не вдається встановити, оскільки мені потрібно оновлення до основного модуля, але вони цього не дозволять. Таким чином, кожен, хто не використовує Windows, може використовувати мій код, але вони не можуть це зробити з Perl ActiveState.

ActiveState також має дуже хитрую систему складання, яка часто не вдається точно повідомити, чому модуль не вдалося створити. Мені так набридло надсилати електронні листи та просити цю інформацію, що я врешті відмовився. Я хочу, щоб мій код запускався в Windows, але якщо ActiveState не надає мені цієї інформації та не дає мені можливості оновити основні модулі, я просто не можу її використовувати. Деякі з моїх модулів не мають збоїв у збірці жодної операційної системи - крім тих, у яких ActiveState Perl. Підтримуйте полуничний Perl і просто не турбуйтеся про ActiveState.

Якщо ActiveState виправила їх систему збирання та їх політику "немає оновлення до основних модулів", варто переглянути її.


8
Оновити основні модулі можна з AS Perl 5.8.8 build 518 (випущено в січні 2007 року). Вони також оновили свою систему побудови CPAN у 2008 році, але я не знаю точно, коли.
Олександр Чорній

1
Полуничний перл - це чудово. Однак якщо ви використовуєте MSys Bash як свою оболонку, існує відома проблема, що команди, такі як cpanне працюють.
Полковник Паніка

30

Не існує єдиного найкращого розподілу Perl. Ванільний перл (пересувний, перерозподілений Perl), і це більш зручно для розробників полуничного Perl мають значний потенціал.

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

На жаль, багато дуже приємних модулів CPAN (наприклад, Perl прив'язки для OpenSSL) недоступні через сховище ActiveState.

Як і більшість речей, ви повинні зробити свій вибір, виходячи з того, який розподіл найкраще відповідає вашим потребам.


PerlApp здається корисним інструментом (я не порівнював його з Par :: Packer), але PDK, який він постачається, має ціну 300 доларів.
Нейт Гленн

17

В основному я використовую ActivePerl, але мені дуже подобається, куди прямує Полуничний Perl. Мені подобається, що оболонка cpan "просто працює", і мені не потрібно стрибати через купу обручів, щоб встановити модулі XS. (наприклад, ExtUtils :: FakeConfig, хоча це менш необхідно в останніх версіях ActivePerl.) Я також схвильований можливістю Perl на thumbdrive. Реліз Portable Perl вже досить зручний.

Я погоджуюся, що головна перевага ActivePerl - це Tk поза коробкою, але зауважте, що станом на 5.10 ActivePerl більше не постачається з Tk за замовчуванням. Натомість він поставляється з Tkx.


13

Майбутнє, безумовно, полуничний Perl. Що б ви не вибрали (і ця проблема не характерна лише для Windows), якщо ви поширюєте кінцевий результат на інші машини, вам доведеться бути обережними щодо інструкцій із встановлення / встановлення, які ви надаєте.


6

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


1
Примітка: якщо ви встановите mingw поряд із полуничним perl, пам’ятайте, що полуничний perl може використовувати різні версії програм minsys. У мене виникли основні проблеми з отриманням полуничного perl для створення Win32 :: OLE та інших модулів, поки я не видалив mingw зі свого шляху.
Роберт П

Якщо ви дійсно хочете Perl у Windows, як Perl на * nix, встановіть SUA / SFU (не встановлюйте Perl, який постачається разом) та використовуйте Perbian Debian Interix / pkgsrc-interix.
MkV

4

Я на сьогоднішній день віддаю перевагу полуничному Perl. Для одного він встановлює gcc як частину mingwin, так що ви можете встановити безпосередньо з CPAN.

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


2
Мені цікаво, що оцінило перемогу.
gWaldo

3

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


3

ActiveState Perl вже давно вважається Windows Perl. Хоча у нього багато недоліків, і багато хто з нас використовує щось інше, він залишається дуже популярним. Якщо ви будували код Perl для виконання на машині Windows (окрім вашого власного), я б розглядав можливість записувати його до уваги за замовчуванням (або як за замовчуванням, як я міг би отримати його), як установка Perl, що виконує його. Все інше, і ви вводите перешкоди для входу для інших, хто намагається пізніше використовувати ваш додаток.


AFAIK, PAR pp відмінно працює з полуницею, що є великою перевагою з точки зору розповсюдження ваших власних додатків, оскільки для IIUC вам потрібна ліцензія на OEM, щоб мати можливість розповсюджувати програми, складені на pp, якщо ви використовуєте їх DLL.
Sinan Ünür

3
@Sinan, ваше твердження про ліцензування ActivePerl та PAR невірно. Див пунктом 4 ліцензії The license also allows You to redistribute parts of the Package as part of an application generated by wrapping tools such as PAR, PerlApp or Perl2Exe. However, this License does not allow You to (a) redistribute the Package as a whole, (b) use its parts to create a language distribution, or (c) redistribute the PerlScript, Perl for ISAPI or PerlEx components with Your application. activestate.com/activeperl/license
daotoad

@daotoad Hmmmm ... Я можу присягнути, що більш рання версія цього не дозволила, але я навіть не впевнений, чи правильно пам’ятаю. Дякую за виправлення
Sinan Ünür

2

У мене були великі проблеми з Полуницею, і я відчував, що немає підтримки. Хороші люди в PerlMonks не могли мені допомогти, і я здався. Якщо ця сторінка залишає вас з певною недовірою, є ваша відповідь.


1

Код, який я записую в компанії Fortune 500, допомагає "корпоративним" почуттям. Я використовував ActivePerl до цих пір, і він відмінно працює як для внутрішніх інструментів, так і для розповсюдження серед цих великих клієнтів.


1

Я використовую Active State Perl 5.014, який працює добре.

Проблема полягає в тому, що у нього немає останньої версії Padre (IDE, середовище налагодження).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.