我如何在Perl中编写一个for循环,每周应该执行一个语句块。 例如:开始时间是:星期一00:00:00,然后循环应该在下周一的00:00:00迭代。
感谢您的任何意见。
此致 Chandu
答案 0 :(得分:2)
cron
(或您的操作系统使用的任何其他任务调度程序)是正确的工具,而不是Perl。
但是,在最简单的情况下,可以使用sleep 604800;
在Perl中完成,这将等待604,800秒(即7天),然后再继续执行下一个语句。不需要循环。
答案 1 :(得分:0)
在这里你可以制作一个超过一周的计时器。这与星期几无关,但您可以在星期一开始,并在下周一再次开始。
use strict;
use warnings;
use Time::HiRes qw(gettimeofday tv_interval usleep);
# 1 week equal 168 hr
for(;;) {
# put your codes here
# ...
for my $h (0..167) {
for my $m (0..59) {
for my $s (0..59) {
for my $ms (0..999) {
print "$h:$m:$s:$ms\n";
usleep(1000);
$ms += 0.001;
}
}
}
}
}