所以我订购了Learning Perl第6版,我知道它使用的是5.14,但是Strawberry Perl只有5.12版,那么我的选择是什么? 5.12是好还是会有什么问题?
我唯一的选择是使用Linux吗?如果是这样的发行版建议会很好,还有指令或指向更新所述发行版(或一般)中的perl的说明。我对Linux比较陌生,只是曾经安装过几次Ubuntu并且从未真正坚持过它。完美的解决方案是一个发行版,它适合安装在我家的另一台PC上,因此我可以只使用远程桌面(或者等效的,甚至是SSH,虽然GUI很不错),因为我有一台旧电脑,我想要一个新的硬盘开车进来。 (Pentium 4的内存比不到一点,所以并不可怕)
希望这个问题比我最后两个问题更有建设性,我期待你的回复。
编辑:如果可能的话,Linux noob的所有资源都将是一个很好的帮助,如果它是最好的选择。
答案 0 :(得分:13)
我还没有真正见过 Learning Perl 第6版,但如果您在使用Perl 5.12时遇到困难,我会感到非常惊讶。对于大多数人来说,Perl 5.14对于编写需要它的代码来说仍然是新的。本书可能会提到一些你在5.12中无法利用的功能,但它仍然应该解释如何仅使用5.12功能来完成任务。
我建议只使用当前的Strawberry Perl而不用担心版本号。
更新:正如Mike所指出的,这是序言的开头段落:
欢迎阅读第六版 Learning Perl ,针对Perl 5.14及其最新功能进行了更新。即使你仍在使用Perl 5.8,这本书仍然很好(虽然它已经发布很长时间了,你有没有想过升级?)。
这样可以确认您在第6版中使用5.12时没有问题。
答案 1 :(得分:8)
我刚刚从Windows和PHP迁移到Linux和Perl,并且没有回头 - 但我不想在这里开始操作系统或编程语言。我的桌面运行的是Ubuntu,但您可以坚持使用Windows(我需要在VirtualBox VM中使用Windows)。
您可以下载Ubuntu Server ISO并通过Virtual Media Manager将其作为CD / DVD映像附加。然后,您可以根据需要设置任意数量的Ubuntu VM。我使用非常基本的设置:
我配置了一些图片。一个是使用Nginx + Catalyst设置,一个是使用Bricolage CMS和Apache,还有一些其他版本(包括PHP版本)。虚拟机的优点在于,您可以创建快照,复制图像,进行实验,并将事情搞砸并重新启动。
您如何选择设置开发环境取决于个人选择。我使用SSHMenu打开了四个到我的开发服务器的SSH连接 - 这也将终端放在我屏幕上的预定义位置。
我使用一个终端来运行代码,访问调试器等。我使用另一个终端来连接DBMS客户端(PostgreSQL / MySQL)。我使用另外两个来编辑代码和单元测试。我在终端中使用Vim作为编辑器。我也打算尝试使用Emacs,但从未接触过它。
我使用git作为我的版本控制系统,在单独的文件服务器上使用裸存储库。我确实从Mercurial开始,但似乎很多Perl世界都在使用git,所以我切换了。
我已将GNOME终端配置为使用漂亮的Solarized颜色方案(您可以找到here的方便脚本。)
至于Perl版本:我不知道。我同意其他关于使用标准软件包而不是尝试构建自己的软件包的评论 - 特别是如果你是Linux新手。我刚看了O'Reilly preview page,在前言中,它说“即使你还在使用Perl 5.8,这本书也很好” - 所以你应该对早期版本没问题。您还需要注意,如果您计划在Perl中进行Web开发,您可能会被所选的托管服务提供商限制为旧版本的Perl。
还有一些想法:
Programming Perl尽管年代久远,仍然是一个很好的资源。你已经完成了学习Perl,也许是中级Perl,非常值得一读。模式匹配(正则表达式)部分非常棒。
Modern Perl非常好读。它写得很好,简洁,并且充满了非常实用的技巧。
cpanm是标准CPAN应用程序的绝佳替代方案。
local::lib非常有用。我用它来创建一组每个应用程序的CPAN模块。这意味着我可以简单地将整个目录结构从我的开发服务器复制到应用程序服务器,而不必担心与可能使用相同模块的不同版本的其他应用程序的冲突。 目前这可能与您无关,但是当您学到更多并开始使用大量CPAN模块时,它可以非常方便。
快速local::lib
示例:
mkdir -p ~/myapp/extlib
cpanm --prompt -L ~/myapp/extlib CPAN::Module1 CPAN::Module2 ...
eval $(perl -Mlocal::lib=~/myapp/extlib/)
在~/myapp/scripts/myscript.pl
:
use FindBin;
use local::lib "$FindBin::Bin/../extlib";
答案 2 :(得分:8)
这是一个非常好的产品,它是免费的,并且它具有可靠的(大部分)PPM(Perl Package Manager)。我用它并且通常没有麻烦。它是像Strawberry Perl一样的二进制发行版,但你使用PPM来获取模块而不是CPAN.pm。
注意:如果您正在阅读Perl 5.14,那么请不要这样做。我拿到那本书(我也是初学者)并使用了5.12.4。你获得了大部分功能(少数几个; - )
答案 3 :(得分:4)
你可以
安装Windows,然后在Windows计算机上的VM中运行Ubuntu。你可以启动它,ssh到它然后搞砸它。
使用ActivePerl。
答案 4 :(得分:3)
只需使用ActivePerl - 即使使用完整的CPAN工具链,您也可以下载5.14或5.12,它就像草莓一样好。唯一的限制因素是许可证,它完全免费使用,但如果没有OEM许可证,您无法将其捆绑在任何应用程序中。因此,对于99%的案例来说,这是一个很好的分配。
StrawberryPerl也很合适,但它们在发布Perl版本和更新StrawberryPerl版本之间通常会有稍长的延迟。
答案 5 :(得分:1)
我有一个完全更新的Ubuntu 11.04;它有Perl 5.10.1。我不知道其他Linux发行版是如何更新的。 Cygwin也有5.10.1。
你总是可以从源码构建。
答案 6 :(得分:1)
好吧,你可以使用Active Perl,也可以使用GNU / Linux发行版并从它的repos中获取最新的Perl。 GNU / Linux不是Windows,它是开源的,您可以根据需要在任意数量的PC上安装它。您可以尝试使用Ubuntu或它的构建版本来构建一个易于使用的系统。
答案 7 :(得分:1)
大多数 Learning Perl 不依赖于Perl 5.14功能,而且那些功能都有明确标记。在大多数情况下,我尝试显示非v5.14方式来做同样的事情。你会错过一些不错的v5.14功能,但没有它们你就不会被困住。并且,对于它的价值,新的 Programming Perl 即将推出,涵盖了v5.16。如果你还没有旧版本,请不要购买旧版本。
很多人已经为各种Perls提出了很好的选择,所以我不再重复了。我对学生的建议总是要学习你要部署的Perl版本和操作系统。
您不必坚持使用Windows。您可以获得几乎任何您喜欢的操作系统的虚拟机。 VMWare和Oracle VirtualBox拥有免费播放器,许多地方都提供预先配置的虚拟机。从那里,您可以安装任何您喜欢的Perl版本。它也非常便宜且易于使用多启动系统(尽管VM不会阻止您同时使用这两种系统)。
在Windows上,您还可以安装cygwin,然后安装任何您喜欢的Perl。