At a guess I'd say that the process running from cron has a different current directory. Or maybe you're using a very old
Perl (<5.6.0) that forks off a shell to do the globbing,
and that the cron job isn't getting the right path or shell or something.