Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl中向文件名末尾添加变量_Perl - Fatal编程技术网

在perl中向文件名末尾添加变量

在perl中向文件名末尾添加变量,perl,Perl,我正在使用open链接到一个文件。但是我有一个声明的变量,我想把它添加到文件名中。我已经试过了所有可能的方法,但都不管用。我有一个大约有100行的脚本,但是我非常确定我的变量在代码中的任何地方都没有改变 my $env = "TEST"; some code; open $file, '>>', 'filename_$env.txt' or die; my code; 但每次它都返回$env,而不是附加到文件名的值。我试着不用ux,在$env周围用“,”在$env周围,卷发等等。。

我正在使用open链接到一个文件。但是我有一个声明的变量,我想把它添加到文件名中。我已经试过了所有可能的方法,但都不管用。我有一个大约有100行的脚本,但是我非常确定我的变量在代码中的任何地方都没有改变

my $env = "TEST";
some code;
open $file, '>>', 'filename_$env.txt' or die;
my code;
但每次它都返回$env,而不是附加到文件名的值。我试着不用ux,在$env周围用“,”在$env周围,卷发等等。。 我犯了什么愚蠢的错误?

使用双引号:

open $file, '>>', "filename_$env.txt" or die;
单引号将阻止变量扩展

还说:

open $file, '>>', "filename_${env}.txt" or die;
如果您有相似的变量名,将避免任何歧义。

使用双引号:

open $file, '>>', "filename_$env.txt" or die;
单引号将阻止变量扩展

还说:

open $file, '>>', "filename_${env}.txt" or die;

如果您有相似的变量名,将避免任何歧义。

您需要“引号#打开$file,”>>“,“filename_$env.txt”或die;你真的没有在
TEST
中使用引号吗?我用了。我的代码中的变量decaration没有问题。我错过了问题中的引语。抱歉。@user3164754您应该始终剪切并粘贴代码,而不是键入代码。缺少这样的小细节是一件非常糟糕的事情;你真的没有在
TEST
中使用引号吗?我用了。我的代码中的变量decaration没有问题。我错过了问题中的引语。抱歉。@user3164754您应该始终剪切并粘贴代码,而不是键入代码。错过这样的小细节是一件非常糟糕的事情。哇..谁会想到呢?我什么都试过了。事实上,我是通过使用。连接名称和env变量。谢谢你的及时回复。嗯,显然你尝试了所有的方法,除了:-)哇..谁会这么做?我什么都试过了。事实上,我是通过使用。连接名称和env变量。谢谢你的及时回复。好吧,显然你试过了所有的方法,除了:-)