这是bugzilla的一个版本,已经升级到新的共享主机服务器(仍然运行Linux)。有关完整的错误信息,请参阅post底部。
./checksetup.pl does not complain of any missing modules and completes successfully
在~/perl5/lib/perl5中有许多本地perl模块,包括下面报告缺失的模块。
perl -V报告以下环境变量值(在此输出中,NB已将主文件夹的根目录替换为~)
%ENV:
PERL5LIB="/~/perl5/lib/perl5/x86_64-linux-thread-mult
我有以下最简单的Perl CGI脚本:
use strict;
use warnings;
use CGI();
use CGI::Carp qw(fatalsToBrowser);
use Template;
print CGI::header();
foreach(@INC) {
print "$_\n";
}
当调用()时,我得到以下错误:
Can't locate Template.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /u
Can't locate Switch.pm in @INC (you may need to install the Switch module)
(@INC contains:
/usr/local/lib/perl5/site_perl/5.10.1//x86_64-linux-thread-multi
/usr/local/lib/perl5/site_perl/5.10.1/
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/
我从复制了以下示例代码,但它无法工作:
#!/usr/bin/env perl
use strict;
use warnings;
use Mastodon::Client;
my $client = Mastodon::Client->new(
instance=>'mastodon.cloud',
name=>'Perl watcher',
client_id=>'<myid>',
client_secret=>'<mysecret>',
有人知道这个全局变量是干什么的吗?
我找不到任何信息的谷歌,因为特殊的字符。
更新
[root@dev-test v2]$ perldoc -v '%^H'
Ending switch processing. Args are [%^H] with 0 errors.
/usr/bin/perldoc => Pod::Perldoc v3.14
Formatter class Pod::Perldoc::ToMan successfully loaded!
Will format with the class Pod::Perldoc::ToMan
Searching
我尝试使用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
#!/usr/bin/perl
use strict;
use DBI;
use Text::CSV_XS;
每当我执行我的程序时,我都会得到以下错误。我已经正确安装了模块,但是我不知道为什么会显示这个错误。
Can't locate Text/CSV_XS.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site
我正在使用模块发布和测试我的模块。我也在使用。当我使用包含我的模块的perlbrew运行脚本时,脚本运行得很好:
use strict;
use My::Module;
然而,每当我运行dzil test时,在一个只包含我的模块的测试中:
#!perl -T
use strict;
use warnings FATAL => 'all';
use Test::More;
plan tests => 1;
BEGIN {
use_ok( 'My::Module' ) || print "Bail out!\n";
}
di
我已经尝试为WSDL生成类(我需要复杂类型的类)
但是有很多错误:
found unrecognised attribute {http://schemas.xmlsoap.org/wsdl/}arrayType (ignored) at /usr/share/perl5/SOAP/WSDL/Base.pm line 130.
found unrecognised attribute {http://schemas.xmlsoap.org/wsdl/}arrayType (ignored) at /usr/share/perl5/SOAP/WSDL/Base.pm line 130.
fou
如果程序名是以.t结尾的测试脚本,我希望有条件地加载包。
但是,当条件是正则表达式时,我遇到了一个失败的bug。我已经在Perl 5.10和5.16中测试了这一点。
下面是以.t结尾的测试脚本:
#!/usr/bin/env perl
use v5.10;
BEGIN { say "\$0 is '$0'" }
use if $0 =~ /\.t\z/, 'List::Util', ('pairmap');
say "List::Util is " . ( $INC{"List/Util.pm