解决方法
在Perl中没有相当于C头文件.要声明和定义全局常量,可以使用
define的pragma.我没有这个模块的经验,虽然接口似乎是明智的.
另一方面,您可以编写一个模块,在该模块中定义常量,并使用它们将其导入模块.例如:
package MyConstants; use strict; use warnings; use Exporter qw( import ); use Const::Fast; our @EXPORT = qw(); our @EXPORT_OK = qw( $X $Y ); const our $X => 'this is X'; const our $Y => 'this is Y'; __PACKAGE__; __END__
然后,您可以使用此模块,如下所示:
#!/usr/bin/perl use strict; use warnings; use MyConstants qw( $X ); print "$X\n"; print "$MyConstants::Y\n";
如果您使用完全限定的变量名称(例如$MyConstants :: Y),则完全不需要导出器.
此外,确保导出的变量在其他地方不可修改(请参阅Exporter
文档中的警告).
当然,您也可以使用constant.pm定义常量.使用这些常量可能会更快,但是如果您需要在字符串中插入它们,它们会变得很尴尬.