我是perl的新手。我有此示例代码。
#! /usr/bin/perl
# Calcu.pm
package Calc;
sub add {
( $one , $two ) = @_;
$total = $one + $two;
return $total;
}
1;
和
#! /usr/bin/perl
# add.pl
use Calcu;
print Calcu::add(50, 60);
脚本add.pl运行正常。但我想调用该add
方法而不提及其模块名称。我在Calcu.pm中搜索并添加了以下几行
use Exporter;
@ISA = (Exporter);
@EXPORT = qw (add);
&print Calcu::add(50, 60);
用print add(50, 60);
add.pl替换,但它仍然给我以下错误。
Undefined subroutine &main::add called at add.pl
有什么办法可以让我直接在ad.pl中调用add子例程?
更改package Calc;
为package Calcu;
Calcu.pm
软件包名称不匹配是给您带来麻烦的原因。
通读perldoc Exporter以获取详细信息。
查看perldoc perlootut,以了解perl创建对象的不同方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句