如何在 perl 中设置倒计时器来重复执行某项功能?

如何在 perl 中设置倒计时器来重复执行某项功能?

我正在将文件从一个文件复制到另一个文件。我想每 10 秒重复检查一次源文件是否可用。如何在复制期间检查?

答案1

也许我没有完全理解这个问题。以下方法有效吗?

use File::Copy;

sleep 10 until -e $source;
copy($source, $target);

答案2

您可以使用-e文件测试和sleep

perl -e'$s = "/source/path"; sleep 10 until -e $s; `rsync $s /destination/path`'

如果你在 perl 脚本中:

#!/usr/bin/env perl
use warnings;
use strict;

# be careful if your paths contain spaces
my ($source, $dest) = qw(path/to/source path/to/dest);

sleep 10 until(-e $s);
system('rsync', $source, $dest);

相关内容