我想使用一个模块,文件的路径将位于变量中。
我尝试使用这段代码:
#!/usr/bin/perl -w
use strict;
use Getopt::Long;
my ($library, $zipped, $aid_class_file);
GetOptions ("aid_class_file=s" => \$aid_class_file,
"res_lib=s" => \$library,
"zip" => \$zipped);
require $aid_class_file;
但它不起作用。我该怎么做?
edit:错误信息是:
Can't locate Error.pm in @INC (@INC contains: /usr/lib/perl5/5.8.3/x86_64-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl .) at /nfs/iil/disks/home10/imelam2/learn_flow/flow_to_change/AidClass.pm line 6.
BEGIN failed--compilation aborted at /nfs/iil/disks/home10/imelam2/learn_flow/flow_to_change/AidClass.pm line 6.
Compilation failed in require at statistics.pl line 11.
我想添加名为的文件AidClass.pm
并不是Error.pm
我用这条线跑:
statistics.pl -aid_class_file="/nfs/iil/disks/home10/imelam2/learn_flow/flow_to_change/AidClass.pm"
您的错误表明 AidClass 找不到 Error.pm 文件,这导致它崩溃。 Error.pm 在 AidClass.pm 的第 6 行被调用:
Can't locate Error.pm
它正在以下路径上寻找它:
/usr/lib/perl5/5.8.3/x86_64-linux-thread-multi
/usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl
根据您的 AidClass 的情况,您可以将其目录作为 lib 添加到 AidClass.pm 中,这样它也会在其中查找 Error.pm:
use lib '/nfs/iil/disks/home10/imelam2/learn_flow/flow_to_change/';
use Error;
或者您可以从调用 AidClass 的脚本中执行此操作,而不是调用use Error;
call use AidClass;
如果 Error.pm 位于该文件夹内,它将正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)