Hi Ed,
A few quick pointers should get you going in the right direction.
First, your cron job will run at 20 after the hour and only once per hour. If you want to run it every 20 minutes you should have a cron entry like this:
0,20,40 * * * * perl blah blah blah
This will run at the top of the hour, 20 after, and 40 after.
Second, your script is running but is directing the output of cat to a file called 'mail'. Try running 'perl /var/dir/script.pl | cat update.email >> mail
ed@ed.com' from command line. I don't think you will get the results you want.
I think a better approach would be to put the 'cat' and 'mail' commands in your perl script or write a ksh/csh/sh/bash/etc wrapper script that first runs the script.pl and then 'mail
ed@ed.com<<update.email'. Notice the mail syntax change. This will e-mail you the file where your previous command was basically creating a copy of upate.email called mail.