use Time::HiRes qw{ time sleep }; ... my $now = time; sleep 60 - ( $now - 60 * int ( $now / 60 ) );