use TIME::HiRes qw(usleep time alarm sleep); $nightpause=(2000); $time=localtime; if ($time=~/(\d+?):\d+?:\d+?/) { $hour=$1; } if ($hour<=6 or $hour>=17) { usleep ($nightpause); }