我有一个perl脚本(proj_perl.pl和proj_prl_client.pl(,我还创建了模块proj_library.pm。我的.pm看起来:
package proj_library;
use base 'Exporter';
our @EXPORT = qw(help);
sub help{#my code}
1;
在我的.pl脚本中,我调用子帮助,它看起来是:
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
use feature 'say';
use IO::Socket;
use JSON;
use proj_library qw(help); #LOOK HERE!
然后我在代码的某个地方调用帮助。问题是当我想运行脚本时:/pro_perl.pl终端向我展示了这样的东西:
Can't locate proj_library.pm in @INC (you may need to install the proj_library module) (@INC
contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0
/usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30
/usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at
./proj_perl.pl line 8.
BEGIN failed--compilation aborted at ./proj_perl.pl line 8.
所以我没有;I don’我不知道发生了什么事!
添加以下内容以告诉Perl在脚本的目录中搜索:
use FindBin qw( $RealBin );
use lib $RealBin;
您检查过您的pm是否在@INC中吗?如果您需要加载自定义PM文件夹,请查看perldoc.perl.org/lib
用作:
use lib "."
或
use lib "my_libs/"