use strict; use Time::Hires qw (usleep); my $start = foo my $stop = bar while () { my $now = ParseDate("now"); if ( Date_Cmp( $start, $now ) == 0 ) { start_application; } if ( Date_Cmp( $stop, $now ) <= 0 ) { stop_application; last; } usleep(800000); }