我怎样才能每七天迭代一次for循环

时间:2014-11-28 09:36:18

标签: perl

我如何在Perl中编写一个for循环,每周应该执行一个语句块。 例如:开始时间是:星期一00:00:00,然后循环应该在下周一的00:00:00迭代。

感谢您的任何意见。

此致 Chandu

2 个答案:

答案 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;
                }
            }
        }
    }
}