我编写了一些代码,可以将文件从一个文件夹复制并移动到另一个文件夹。这段代码在它自己的工作正常,但当我尝试在代码中添加while循环时,我不断收到错误。当我测试时,while循环在它自己也正常工作。我似乎无法弄清楚代码有什么问题。我是新手使用Perl,并想知道是否有人可以指出我出错的地方。任何帮助都会很棒。谢谢。 :)
use File::Copy;
use File::Find;
my @source = qw (source);
my $target = q{target};
while
{sleep (5);
find(
sub {
if (-f) {
print "$File::Find::name -> $target";
copy($File::Find::name, $target)
or die(q{copy failed:} . $!);
}
},
@source
);
}
编辑:对不起我不认为我很清楚。我希望这段代码循环每X秒。我把它设置为5秒来测试它。
答案 0 :(得分:8)
您缺少表示何时退出循环的表达式。
while (EXPR) { ... }
^^^^^^
如果您想要无限循环,可以使用
while (1) { ... }
for (;;) { ... }
loop { ...} # use syntax qw( loop );