我该如何在Perl中使用宏,就像在C语言中一样?
示例:
我希望得到输出结果为100。
示例:
#define value 100
print value;
我希望得到输出结果为100。
#define value 100
print value;
use constant value => 100;
print value;
print "The value is ".value."\n";
。use Readonly;
Readonly my $value => 100;
print $value;
然而,与常量不同的是,Readonly 不是 Perl 核心发行版的一部分,因此需要从 CPAN 安装。
if(0)
已经足够快了;除此之外,OP并没有要求使用#ifdef
。请参阅http://search.cpan.org/perldoc?Readonly#COMPARISON_WITH_"use_constant" - use constant存在大量问题。 - rjhPerl不是C语言。学习相应的Perl习语(例如已经提到的use constant value => 100
)比试图将C语言习惯用法引入Perl更加有用。
对于常量,一种常用的方式是使用一个常量子例程,这将被编译器内联:
use constant value => 100;
或者sub value () {100}
use strict;
use warnings;
#define a 10;
print a;
使用-P开关运行此代码。
例如:
perl -P macro.pl
同时也要使用模块Filter::cpp。
print "$condition failed!\n" if (!$condition);
。 - U. Windl