运行Perl脚本时在Text / CSV.pm上出错

时间:2014-10-06 14:57:05

标签: linux oracle perl command-line

当运行从Oracle数据库获取内容并将结果导出为CSV的Perl脚本时,我在尝试通过命令行运行时遇到此错误:

Can't locate Text/CSV.pm in @INC (@INC contains:
/usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.16.2
/usr/lib/perl5/vendor_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.16.2
/usr/lib/perl5/5.16.2/x86_64-linux-thread-multi /usr/lib/perl5/5.16.2
/usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.16.2 /usr/lib/perl5/site_perl .) at
./OracleScript.pl line 4. BEGIN failed--compilation aborted at
./OracleScript.pl line 4.

我将此解释为意味着未安装该模块。所以,我尝试使用以下命令安装它:

/usr/bin/perl -MCPAN -e'install Text::CSV_pm'

我收到此错误:

Database was generated on Mon, 06 Oct 2014 10:41:02 GMT Warning:
Cannot install Text::CSV_pm, don't know what it is. Try the command

    i /Text::CSV_pm/

to find objects with matching identifiers.

有人可以解释我的问题,以及如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

鉴于您正在使用Perl系统(并且,从评论中看,您似乎拥有root),那么最简单的方法可能就是安装为Linux发行版预先构建的软件包。

对于基于Debian / Ubuntu的系统:

$ sudo apt-get install libtext-csv-perl

对于基于RedHat / Centos / Fedora的系统:

$ sudo yum install perl-Text-CSV

答案 1 :(得分:6)

如果要使用CPAN安装模块,则语法为

perl -MCPAN -e'install Module::Name'

无需延期

所以你需要

perl -MCPAN -e'install Text::CSV'

否则CPAN将搜索名为Text :: CSV_pm的模块,该模块(显然)不存在。

你也可以在交互式模块中使用cpan,它更友好一点:

perl -MCPAN -e shell

如果您尝试更新系统perl,或者设置cpan以便它写入您拥有的目录(例如您的主目录),最好以root用户身份运行(即sudo perl -MCPAN -e shell)。 / p>