Perl模块Config :: IniFiles错误

时间:2016-09-13 15:42:58

标签: perl cpan

我在我的脚本中使用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;

2 个答案:

答案 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,安装旧的操作系统包。