附加到其他变量的 Perl 预处理器
Perl preprocessor appended to other variable
我正在尝试编写以下代码,在评估预处理器后,我希望 $varPRE1 为 $var1,$varPRE2 为 $var2,但它不起作用。有解决办法吗?
#define PRE1 1
#define PRE2 2
my $var1 = 10;
my $var2 = 20;
print $varPRE1;
print $varPRE2;
即使对于 C 预处理器,您编写的内容也没有意义,因为 varPRE1
会被解析为一个标记。
你想做的是有可能的,使用所谓的符号引用,但它是 bad idea。
$PRE1 = '1';
$PRE2 = '2';
$var1 = 10;
$var2 = 20;
print ${'var' . $PRE1}; # same as print $var1 => 10
print ${'var' . $PRE2};
这在 use strict refs
下不起作用。不 use strict refs
.
也是一个坏主意
我正在尝试编写以下代码,在评估预处理器后,我希望 $varPRE1 为 $var1,$varPRE2 为 $var2,但它不起作用。有解决办法吗?
#define PRE1 1
#define PRE2 2
my $var1 = 10;
my $var2 = 20;
print $varPRE1;
print $varPRE2;
即使对于 C 预处理器,您编写的内容也没有意义,因为 varPRE1
会被解析为一个标记。
你想做的是有可能的,使用所谓的符号引用,但它是
$PRE1 = '1';
$PRE2 = '2';
$var1 = 10;
$var2 = 20;
print ${'var' . $PRE1}; # same as print $var1 => 10
print ${'var' . $PRE2};
这在 use strict refs
下不起作用。不 use strict refs
.