退出Perl安装时缺少Switch模块


1

我已经在Linux 64bit集群上工作了好几个月,今天早上似乎Perl的Switch模块已经从系统中消失了。

如果我做了 find 在我期望它的地方,我得到:

find /opt/thirdparty/perl/ -name Switch.pm
/opt/thirdparty/perl/perl-5.16.2/lib/5.16.2/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.18.1/lib/5.18.1/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.16.0/lib/5.16.0/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/lib/5.14.2/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/lib/perl5/site_perl/5.8.8/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/5.14.2/CGI/Switch.pm
/opt/thirdparty/perl/perl-5.14.2/lib/perl5/site_perl/5.8.8/CGI/Switch.pm

perl --version

This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux

perldoc POSIX
[...]
perl v5.14.2                      2012-06-26                          POSIX(1)

perldoc Switch
No documentation found for "Switch".

有任何想法吗?我是否将CGI :: Switch与Switch混淆了?

Answers:


1

Switch确实已经从核心Perl发行版中删除了 版本5.14.0 (集群刚刚升级了吗?)

虽然不建议实际使用Switch模块(但我现在找不到非推荐),您也可以安装它 来自CPAN 可能你的Linux发行版也将它作为一个单独的包提供。它可能只是和 apt-get install 要么 yum install 离开你。


相关问题:如何更改我的代码,使其成功运行在旧版本的Perl解释器以及我的集群中的新版本?谢谢
719016

1
要么确保在较新版本上安装了Switch,要么停止使用switch并使用plain if / elsif / else构造。
szabgab
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.