in reply to Using Trigger Files

An easy way is to put this in a function, and call that function from a loop every so often. Consider:
my $time_to_run = time; while ($time_to_run) { # If it's time to run... if (time < $time_to_run) { DoSomething(); # ...then wait 10 minutes (60 seconds * 10) $time_to_run += 60*10; } else { # Snooze for 10 seconds select(undef,undef,undef,10.0); } }
You might also want to put in %SIG signal handlers to let it gracefully exit from the FTP session when sent an INTR signal, or HUP perhaps. This way you can give it the boot without corrupting any uploads. After all, this program is in an infinite loop, but on purpose.