我在我的脚本中使用Config :: IniFiles模块来读取配置文件。我在执行脚本时遇到以下错误。
List::Util version 1.33 required--this is only version 1.21 at /usr/lib/perl5/site_perl/5.8.8/Config/IniFiles.pm line 14.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/Config/IniFiles.pm line 14.
Compilation failed in require at ./SFTP_Common_Connect.pl line 3.
BEGIN failed--compilation aborted at ./SFTP_Common_Connect.pl line 3.
以下是脚本行。
#!/usr/bin/perl
use strict;
use Config::IniFiles;
use Data::Dumper;
my $conf="/tmp/config.cfg";
my %con_details;
(-f $conf) ? tie %con_details, 'Config::IniFiles', ( -file => $conf ) : die $!;
print Dumper %con_details;
答案 0 :(得分:3)
这条消息非常自我解释。
List :: Util版本1.33需要 - 这只是版本1.21
其中一个模块需要List :: Util版本1.33,但您正在加载版本1.21的安装。您需要安装较新版本的List :: Util。
您应该使用您的操作系统发行版的软件包管理器或}
(或cpan
)来安装模块,因为它们也会处理安装依赖项。
答案 1 :(得分:0)
如上所述,您的Config::IniFiles
脚本需要比安装中提供的版本更新的List::Util
版本。可能是您安装了来自不同存储库的perl模块。
您可以通过执行List::Util
来找到perldoc -l List::Util
的位置,然后我建议您查找安装旧版本的操作系统软件包,并更新软件包。
其他选项是仅安装CPAN的新List::Util
,例如cpanp install List::Util
或降级Config::IniFiles
,安装旧的操作系统包。