【发布时间】:2013-04-14 19:11:28
【问题描述】:
下面的构造不起作用有什么原因吗?文件列表包含文件名。名称列表包含一个名称列表,当这些名称作为文件名的子字符串匹配时,会导致循环将文件移动到名为 $name 的目录中。看起来它应该可以工作,但它没有移动文件。有什么更好的方法来构建它?
FILE: for my $file (@file_list) {
for my $name (@name_list) {
if ($file =~ /^\Q$name\E/) {
rename "/Users/path/to/file/I/need/to/move/$file", "/Users/path/to/directory/i/need/to/move/file/to/$name/$file" or die "rename failed because: $!\n";
next FILE;
}
}
print "no match for $file\n";
}
【问题讨论】:
-
你使用什么语言?
-
@ChrisLoonam 看起来像 PHP
-
这看起来更像 Perl 而不是 PHP(
for my $var和=~是其中的标志)。 -
语言是perl。
-
哦,
FILE:是一个循环标签,应该在第一个for之前附加到代码 jst。
标签: perl file directory rename