perl - 无法找到 perl 模块,即使 cpanm 声称它是最新的

标签 perl

我尝试使用 File::Slurp 模块:

use v5.14;
use warnings;
use File::Slurp;

my $text = read_file( 'test.txt' ) ;

但是当我运行它时出现错误:

Can't locate File/Slurp.pm in @INC (@INC contains: /home/fcihh/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/fcihh/perl5/lib/perl5 /home/fcihh/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/fcihh/perl5/lib/perl5 /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at ./p.perl line 5.

运行 cpanm File::Slurp 得到:

File::Slurp is up to date. (9999.19)

最佳答案

可能涉及两个perl。执行以下命令,使用与执行脚本相同的 perl(必要时指定路径):

perl -e'use CPAN; install "File::Slurp"'

您已经提到您的 cpan(与您的 cpanm 不同)被配置为使用与您使用的相同的 perl执行你的脚本,这样你就可以简单地使用

cpan File::Slurp

关于perl - 无法找到 perl 模块,即使 cpanm 声称它是最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670968/

相关文章:

perl - 如果定义了调用函数的简短语法

perl - 哈希生成脚本上的Perl语法错误

perl - Perl 5 中定义了带有负操作数的 % 的行为吗?

perl - 如何在列表中拆分管道分隔的字符串?

perl - perl中使用dbi的一个简单错误

perl - 使用 SOAP 和 Perl 调用带参数的函数

java - 要发布到 servlet 的 Perl 代码 - 转换为 Java?

linux - 在 Linux 中,如何让我的 Perl 脚本像二进制文件一样运行?

perl - perl 类中的多个数据成员

json - 在centos上安装perl-JSON