Well, seems that the spawn failed and returned an undef value. You don't believe in error-checking, do you? :o)
I would guess that ssh is not in the PATH that crontab gives to its scripts. Try -w or 'use warnings;' and you might get an error message...