In my experience problems with running scripts from cron are invariably related to environment. Cron does not use the same shell or environment as a regular user. I would suggest implementing some error checking (this is a good idea any-way!) ie test for failure on your file open (as
stajich has said) , use Strict and -w and in your cronjob redirect STDOUT and STDERR to a log so you can see what is happening ie.
0 11 * * * /path/to/my/script.pl > /tmp/myscript.log 2>&1
If you are still having problems you will have collected some more information to help locate it :)
--
my $chainsaw = 'Perl';