我一直在尝试使用perl的函数rename
来重命名大量文件。我遇到的问题是我的变量my $oldname
是由变量,字符和变量的名称组成的,如my $oldname = "$variable1CHARACTERS$variable2.txt";
我使用了很多选项来逃避字符(单引号,撇号,斜线和组合的负载),但它从不正常工作,因此重命名失败。有没有人遇到过这个问题?我认为解决方案是通过更多双引号,也许将CHARACTERS置于双引号下 - 但仍然没有找到有效的语法。任何提示都将不胜感激。
答案 0 :(得分:2)
与shell类似,您可以使用大括号来分隔变量名称。
my $oldname = "${variable1}CHARACTERS${variable2}.txt";
在这里消除括号$variable2
并不是绝对必要的(变量名中不允许这段时间,所以它必须在那里结束),但你可以只使用它们来对称。
在您的有限场景中,您还可以将字符串分开,然后加入它们:
my $oldname = join("", $variable1, "CHARACTERS", $variable2, ".txt");