【问题标题】:Adding a variable to the end of a filename in perl在perl中将变量添加到文件名的末尾
【发布时间】:2014-01-22 20:25:34
【问题描述】:

我正在使用 open 来写入文件。但是我有一个声明的变量,我想将它添加到文件名中。我已经尝试了所有可能的方法,但它不起作用。我有一个大约 100 行的脚本,但我很确定我的变量在代码中的任何地方都没有改变。

my $env = "TEST";
some code;
open $file, '>>', 'filename_$env.txt' or die;
my code;

但每次它返回 $env 而不是附加到文件名的值。我在没有 _ 的情况下尝试了它,在 $env 周围使用“”,在 $env 周围使用“”,卷曲等。 我犯了什么愚蠢的错误?

【问题讨论】:

  • 你需要 "" 引号 # open $file, '>>', "filename_$env.txt" or die;
  • 你真的没有在TEST周围使用引号吗?
  • 我做到了。我的代码中的变量声明没有问题。我错过了问题中的引号。对不起。
  • @user3164754 你应该总是剪切和粘贴代码——而不是输入它。缺少这样的小细节是一件非常糟糕的事情。

标签: perl


【解决方案1】:

使用双引号:

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

单引号会阻止变量扩展。

还有,说:

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

如果您有相似的变量名称,将防止任何歧义。

【讨论】:

  • 哇..谁会重蹈覆辙?我什么都试过了。实际上我通过使用 .连接名称和环境变量。感谢您的及时回复。
  • 好吧,显然你尝试了除了reading the documentation之外的所有方法:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
  • 1970-01-01
相关资源
最近更新 更多