我如何在Perl中使用宏,就像我在C中一样?
例:
#define value 100
print value;
Run Code Online (Sandbox Code Playgroud)
我希望输出为100.
Gav*_*ock 31
如果你只想定义常量(比如你的例子)而不是完整的宏,那么有几种perl方法可以做到这一点.
有些人喜欢:
use constant value => 100;
print value;
Run Code Online (Sandbox Code Playgroud)
请注意,'value'是子程序,而不是'变量'.这意味着你不能在字符串中插入它,所以你必须这样做.print "The value is ".value."\n";.
" 最佳实践 "人群如下:
use Readonly;
Readonly my $value => 100;
print $value;
Run Code Online (Sandbox Code Playgroud)
但是,与常量不同,Readonly不是核心perl发行版的一部分,因此需要从CPAN安装.
Eri*_*rom 10
对于常量,常见的方法是使用一个由编译器内联的常量子例程:
use constant value => 100;
Run Code Online (Sandbox Code Playgroud)
要么
sub value () {100}
Run Code Online (Sandbox Code Playgroud)