为什么我的Perl脚本不使用我的模块?

Eri*_*sum 4 perl perl-module subroutine

module.pm

package module;
use 5.012;
use warnings;

sub Parse
{
   return 1;
}

1;
Run Code Online (Sandbox Code Playgroud)

script.pl

#!/usr/bin/perl -w

use 5.012;
use warnings;
use lib 'C:/';
use module;

print Parse("value");
Run Code Online (Sandbox Code Playgroud)

标准输出

Undefined subroutine &main::Parse
Run Code Online (Sandbox Code Playgroud)

rua*_*akh 6

你需要写:

print module::Parse("value");
Run Code Online (Sandbox Code Playgroud)

或更改module包以导出名称Parse.

有关从模块导出符号的指导,请参阅http://perldoc.perl.org/perlmod.html#Perl-Modules.

(顺便说一句,你应该真正命名你的模块Module而不是module.小写模块名称用于Perl内置功能,如use warningsuse strict.)