in reply to net ssh perl pukes when ...

cron jobs usually run with a limited environment.

Try running

perl -e'print "$_ => $ENV{$_}\n" foreach sort keys %ENV' > cron.out
from the crontab, and run the same command from the command line. (with a different output file, of course)

I'm betting the difference between the 2 environments will explain your problem.