Perl 脚本看不到模块 .pm



我有一个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/"

最新更新