in reply to sleep() but don't exit
How about just running your script via the cron daemon, or using Schedule::Cron ?