No you are not limited perl only, you can use shell programming, c, any other programming language you wish, but I pointed out perl just b/c I am using it extensively; the main purpose of that excersise is to stay with a bare minimum to get the job done, of course you can write an application to do all this but why? Shell programming is sufficient. If the file is updated on a timely manner it is obvious that there is a cron job running, just find out which job is running and modify it as you see fit to include ftp step. For isntance there is a job
a1.sh
running every hour, what a.sh does is monitoring various processes on the system and collects data into a binary file, at the end of the day all the binary files are converted to text based report (by means of a2.sh script) and send out to an administrator (the example is sar on Unices), you can create a script b.sh where the last lines would be ftp'ing the reports and the first directive is to run a2.sh script
Code:
#!/bin/sh
# this is a pseudo-code
/path/to/a2sh > /path/to/rpt.txt
ftp directives to transfer /path/to/rpt.txt to the remote host.
and then you just schedule to run b.sh instead of a2.sh at the end of day.
good luck