【问题标题】:Will perl 5.8.4 scripts work with perl 5.16.3?perl 5.8.4 脚本可以与 perl 5.16.3 一起使用吗?
【发布时间】:2020-03-23 23:19:18
【问题描述】:

perl 5.8.4 脚本可以与 perl 5.16.3 一起使用吗?

我试图在 CentOS 7 中安装 perl。默认版本似乎是 5.16。

perl 5.8.4 脚本会在 5.16 中正常工作吗?

这是我尝试过的。看起来默认版本是 5.16。于是就有了这个问题。

sudo yum install perl

================================================================================
 Package                    Arch       Version                   Repository
                                                                           Size
================================================================================
Installing:
 perl                       x86_64     4:5.16.3-294.el7_6        base     8.0 M
Installing for dependencies:
 perl-Carp                  noarch     1.26-244.el7              base      19 k
 perl-Encode                x86_64     2.51-7.el7                base     1.5 M
 perl-Exporter              noarch     5.68-3.el7                base      28 k
 perl-File-Path             noarch     2.09-2.el7                base      26 k
 perl-File-Temp             noarch     0.23.01-3.el7             base      56 k
 perl-Filter                x86_64     1.49-3.el7                base      76 k
 perl-Getopt-Long           noarch     2.40-3.el7                base      56 k
 perl-HTTP-Tiny             noarch     0.033-3.el7               base      38 k
 perl-PathTools             x86_64     3.40-5.el7                base      82 k
 perl-Pod-Escapes           noarch     1:1.04-294.el7_6          base      51 k
 perl-Pod-Perldoc           noarch     3.20-4.el7                base      87 k
 perl-Pod-Simple            noarch     1:3.28-4.el7              base     216 k
 perl-Pod-Usage             noarch     1.63-3.el7                base      27 k
 perl-Scalar-List-Utils     x86_64     1.27-248.el7              base      36 k
 perl-Socket                x86_64     2.010-4.el7               base      49 k
 perl-Storable              x86_64     2.45-3.el7                base      77 k
 perl-Text-ParseWords       noarch     3.29-4.el7                base      14 k
 perl-Time-HiRes            x86_64     4:1.9725-3.el7            base      45 k
 perl-Time-Local            noarch     1.2300-2.el7              base      24 k
 perl-constant              noarch     1.27-2.el7                base      19 k
 perl-libs                  x86_64     4:5.16.3-294.el7_6        base     688 k
 perl-macros                x86_64     4:5.16.3-294.el7_6        base      44 k
 perl-parent                noarch     1:0.225-244.el7           base      12 k
 perl-podlators             noarch     2.5.1-3.el7               base     112 k
 perl-threads               x86_64     1.87-4.el7                base      49 k
 perl-threads-shared        x86_64     1.43-6.el7                base      39 k

Transaction Summary
================================================================================
Install  1 Package (+26 Dependent packages)

Total download size: 11 M
Installed size: 36 M
Is this ok [y/d/N]: N

【问题讨论】:

  • 没有看到脚本,我们无法判断。 5.8.4是2004年的,5.16.3是2013年的,九年的发展。但是差异不应该很大,Perl 会尽可能保持向后兼容性。
  • 大约有 10/11 个小脚本和几个较大的脚本。主要用于格式化数据,例如在 csv 中移动列,为列条目添加前缀等。

标签: perl


【解决方案1】:

大概吧。 Perl 在保持向后兼容性方面付出了很多努力,而且大多数事情可能会奏效。话虽如此,有些事情已经发生了变化,这可能会导致问题。最好的解决方案是用新版本的 Perl 建立一个测试环境并在那里运行你的测试套件。如果您没有测试套件,那么最好的办法是在编写测​​试套件之前不要进行任何更改!

我有点担心你在运行yum install perl。 Centos 7 默认安装了 Perl。你不应该安装它。但是,您可能希望运行 yum install perl-core 以确保您拥有完整的 Perl 环境。

【讨论】:

  • 我使用的是 CentOS 最小安装虚拟机。这就是为什么没有预装 Perl 的原因。
  • 是否可以在 CentOS 7 中手动安装相同的 5.8.4,因为 yum 总是会获得最新版本?
  • @CornerH:您可以使用perlbrew 之类的东西来安装不同版本的 Perl。但我强烈建议升级到新版本的 Perl,而不是安装旧版本。 5.8.4 于 15 年前发布。
  • 不确定 perlbrew,相信它在生产环境中可能被认为是不安全的。但是,使用更新版本的 Perl 是有意义的。谢谢。
【解决方案2】:

是的。 Perl 几乎总是向后兼容。这是它最大的优势,同时也是它最大的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多