我正在使用open to wrtie to a file。但我有一个声明的变量,我想添加到文件名。我尽了一切可能但是没有用。我有一个大约100行的脚本,但我很确定我的变量在代码中的任何地方都没有变化。
my $env = "TEST";
some code;
open $file, '>>', 'filename_$env.txt' or die;
my code;
但是每次它返回$ env而不是附加到文件名的值。我尝试了没有_,在$ env周围的“”,“围绕$ env,curlies等”。 我在做什么愚蠢的错误?
答案 0 :(得分:5)
使用双引号:
open $file, '>>', "filename_$env.txt" or die;
单引号会阻止变量扩展。
另外,说:
open $file, '>>', "filename_${env}.txt" or die;
如果你有类似的变量名,会阻止任何歧义。