【发布时间】:2017-06-21 15:05:30
【问题描述】:
这是我正在尝试做的一个示例: 我想为输入“定义”一个名称,然后当它被带入一个函数时,它才会替换所有 3 个变量。
$place_holder = 'f${file_case}_lalal_${subcase}_${test}';
....另一个函数中的其他地方:
读取文件,每行包含 3 组数字,代表 $file_case、$subcase、$test
while(<IN>){
($file_case, $subcase, $tset) = split;
$input = $place_holder #### line #3 here needs to fix
print " $input \n";
}
不幸的是,它会为每一行打印出 f${file_case}lalal${subcase}_${test}。我希望这些变量被替换。我该怎么做,怎么做 我是否更改第 3 行以便能够按我的意愿输出?我不想在子程序中定义输入名称,它必须在主程序中。
【问题讨论】:
-
注意:插值只发生在双引号字符串中,但您的示例是单引号。
-
我知道。 $place_holder 当时的作用就像一个函数,这 3 个变量还不知道。因此不能被替代。但是 $place_holder 需要放在一个用户可以轻松更改为他们喜欢的地方的地方。其余的替换隐藏在用户不需要更改的函数中。