use*_*539 4 perl module export subroutine
我是perl的新手.我有这个示例代码.
#! /usr/bin/perl
# Calcu.pm
package Calc;
sub add {
( $one , $two ) = @_;
$total = $one + $two;
return $total;
}
1;
Run Code Online (Sandbox Code Playgroud)
&
#! /usr/bin/perl
# add.pl
use Calcu;
print Calcu::add(50, 60);
Run Code Online (Sandbox Code Playgroud)
脚本add.pl运行正常.但我想调用该add方法而不提及其模块名称.我用Google搜索并在我的Calcu.pm中添加了以下行
use Exporter;
@ISA = (Exporter);
@EXPORT = qw (add);
Run Code Online (Sandbox Code Playgroud)
print Calcu::add(50, 60);并print add(50, 60);在add.pl中替换,但它仍然给我以下错误.
Undefined subroutine &main::add called at add.pl
Run Code Online (Sandbox Code Playgroud)
有没有办法可以直接在我的ad.pl中调用add子例程?
xxf*_*xxx 10
更改package Calc;到package Calcu;在Calcu.pm
包名称不匹配会给您带来麻烦.
请阅读perldoc Exporter了解详细信息.
查看perldoc perlootut,了解perl创建对象的不同方法.
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |