我应该在Windows上使用哪个版本的Perl?

我应该在Windows上使用哪个版本的Perl?

Which version of Perl should I use on Windows?

win32.perl.org网站提供了对MS Windows的几个Perl发行版的引用。

很长一段时间我一直在使用ActivePerl
ActiveState但最近我切换到了
草莓Perl。

恕我直言,Active Perl对Strawberry Perl的唯一优势是它配备了Perl Tk,这意味着它易于安装
Devel :: ptkdb图形化调试器。 除此之外,我认为Strawberry Perl具有所有优势。


Strawberry Perl正在变得越来越好。我反复使用ActiveState的一个问题是我的模块有时无法安装,因为我需要升级到核心模块,但他们不会允许。因此,每个不使用Windows的人都可以使用我的代码,但他们无法使用ActiveState的Perl。

ActiveState也有一个非常狡猾的构建系统,通常无法准确报告模块无法构建的原因。我厌倦了通过电子邮件发送并询问我最终放弃的这些信息。我希望我的代码在Windows上运行,但如果ActiveState没有向我提供该信息,并且没有给我任何升级核心模块的选项,我就是无法使用它。我的一些模块在任何操作系统上都没有构建失败 - 除了那些使用ActiveState Perl的模块。支持Strawberry Perl,不用担心ActiveState。

如果ActiveState修复了他们的构建系统并且"没有升级到核心模块"策略,那么值得重新审视。


没有单一最好的Perl发行版。 Vanilla Perl(可重定位,可再发行的Perl),以及更加开发人员友好的Strawberry Perl具有巨大的潜力。

但是,有一个很好的理由说明为什么ActivePerl如此受欢迎。优势主要在于最终用户易于部署(无需编译器使用其包管理器,PPM)。 ActiveState PDK(Perl开发工具包)也是打包完整Windows二进制文件的一种非常好的方法,它不需要在用户的计算机上安装任何Perl。

不幸的是,许多非常好的CPAN模块(如OpenSSL的Perl绑定)无法通过ActiveState的存储库获得。

与大多数事情一样,您应根据最符合您需求的分布进行选择。


我主要使用ActivePerl,但我真的很喜欢Strawberry Perl的发展方向。我喜欢cpan shell"只是工作"而且我不必跳过一堆箍来安装XS模块。 (例如ExtUtils :: FakeConfig,虽然在最近的ActivePerl构建中不太必要。)我也对拇指驱动器上Perl的可能性感到兴奋。 Portable Perl的开发版已经非常实用了。

我同意ActivePerl的主要优点是Tk开箱即用,但请注意,自5.10起,ActivePerl默认不再附带Tk。它随Tkx一起提供。


未来绝对是Strawberry Perl。
无论您选择哪个(并且此问题并非Windows独有),如果您将最终结果分发给其他计算机,则您必须要小心提供的安装程序/安装说明。


Strawberry Perl更像是@nix上的Perl。它配备了MinGW,可以单独使用。 Perl模块也可以安装ppm或cpan。


我到目前为止更喜欢Strawberry Perl。 首先,它将gcc安装为mingwin的一部分,以便您可以直接从CPAN安装。

我使用ActiveState的perl已经有一段时间了,但是从一台机器到另一台机器我都有很多的瑕疵,尽管它们(看似)配置相同。 他们的PPM模块包装也留下了不好的味道。 它使管理包变得简单,但您依赖它们在CPAN更新后更新PPM。 此外,PPM绝不是CPAN的全部内容; 我最后一次使用ActivePerl时,很难找到我需要的所有模块,而那些模块通常都是旧版本。


我总是使用Cygwin(带有bash的xterms比cmd windows更好)和随附的Perl。我用CPAN shell安装Perl模块("cpan"命令);它工作正常。


ActiveState Perl已被认为是事实上的Windows Perl已有一段时间了。虽然它有很多缺陷,而且我们很多人都使用其他东西,但它仍然非常受欢迎。如果你要构建在Windows机器上执行的Perl代码(除了你自己的机器),我会考虑编写它以着眼于默认(或默认情况下我可以得到它)AS Perl安装执行它。其他任何事情,你正在为其他人试图在以后使用你的应用程序时引入障碍。


我写的代码登陆财富500强企业,所以"企业"的感觉很有帮助。到目前为止,我已经使用过ActivePerl,它既适用于内部工具,也适用于分发给那些大客户。


我有草莓的主要问题,我觉得没有支持。 PerlMonks的好人无法帮助我,我放弃了。如果这个页面让你有一定的信心,那就是你的答案。


我正在使用Active State Perl 5.014,它工作正常。问题是,它没有最新版本的Padre(IDE,debbugging环境)。


推荐阅读

    linux系统查版本命令?

    linux系统查版本命令?,系统,信息,名称,状态,设备,命令,软件,工具,版本,终端,l

    linux更新源版本命令?

    linux更新源版本命令?,软件,系统,最新,管理,信息,工具,对比,在线,平台,代码,l

    linux入侵网站命令?

    linux入侵网站命令?,工作,地址,信息,系统,数字,网站,名称,命令,网络,密码,lin

    linux命令jdk版本?

    linux命令jdk版本?,系统,官网,地方,网上,状态,位置,官方网站,服务,发行,命令

    linux几个有趣的命令?

    linux几个有趣的命令?,代码,地址,工作,命令,生产,单位,数据,目录,终端,控制

    linux命令怎样降版本?

    linux命令怎样降版本?,系统,服务,管理,数据,电脑,地方,风险,档案,软件,通用,l

    linux网站根目录命令?

    linux网站根目录命令?,系统,一致,设备,网站,目录,根目录,信息,标准,位置,电

    linux查系统版本命令?

    linux查系统版本命令?,系统,信息,地址,名称,设备,命令,版本,电脑,软件,工具,

    linux访问网站的命令?

    linux访问网站的命令?,地址,系统,服务,工作,网站,命令,网络,管理,信息,网址,L

    linux的几个简单命令?

    linux的几个简单命令?,工作,系统,地址,管理,命令,网络,目录,信息,时间,操作,l

    linux内核发行版命令?

    linux内核发行版命令?,发行,系统,地址,软件,设备,信息,内核,版本,工具,公司,l

    linux版本命令大全?

    linux版本命令大全?,地址,工作,系统,信息,发行,命令,版本,基础,名称,标准,查

    linux光盘版本命令?

    linux光盘版本命令?,系统,数据,信息,设备,服务,盘中,电脑,位置,管理,命令,lin

    命令查询linux版本?

    命令查询linux版本?,系统,信息,名称,状态,电脑,设备,工具,软件,版本,命令,在L

    linux命令版本是什么?

    linux命令版本是什么?,系统,信息,名称,传播,发行,版本,命令,设计,电脑,数据,L

    linux内核版本的命令?

    linux内核版本的命令?,地址,信息,发行,工作,系统,电脑,命令,版本,内核,名称,

    linux命令行登陆网站?

    linux命令行登陆网站?,网站,系统,密码,服务,地址,环境,网络,软件,状态,项目,

    linux常用的几个命令?

    linux常用的几个命令?,工作,系统,地址,管理,标准,命令,信息,设备,单位,数据,l

    linux登陆网站命令?

    linux登陆网站命令?,网络,工具,网站,标准,地址,软件,系统,命令,数据,环境,lin

    linux版本内核命令?

    linux版本内核命令?,系统,工作,地址,信息,管理,命令,设备,数据,代码,内核,Lin