如果我在Perl模块中定义一个常量,我如何在我的主程序中使用该常量? (或者如何在主程序中调用该常量?)
解决方法
常量可以像其他软件包符号一样导出。使用标准
Exporter模块,您可以从包中导出常量,如下所示:
package Foo; use strict; use warnings; use base 'Exporter'; use constant CONST => 42; our @EXPORT_OK = ('CONST'); 1;
然后,在客户端脚本(或其他模块)
use Foo 'CONST'; print CONST;
您可以使用%EXPORT_TAGS散列(请参阅导出器文档)来定义可以使用单个导入参数导出的常量组。
更新:这里有一个例子,如果你有多个常量,如何使用%EXPORT_TAGS功能。
use constant LARRY => 42; use constant CURLY => 43; use constant MOE => 44; our @EXPORT_OK = ('LARRY','CURLY','MOE'); our %EXPORT_TAGS = ( stooges => [ 'LARRY','MOE' ] );
然后你可以说
use Foo ':stooges'; print "$_\n" for LARRY,CURLY,MOE;