in reply to SelfChanging script!

If you want it to run every hour, something simple like:
sleep(60*60); exec($0,@ARGV);
should work. The script needs to exec itself (or use something like eval or do) because otherwise Perl won't recompile it, and so won't see the changes.