Probably a permissions problem, as has been noted. What I can't understand is how the problem came to be so complicated. This, run as a root cron job, will produce the desired directory:
#!/bin/bash mkdir -p /ora-local/db-test-backups/`date +%Y"_"%m"_"%d`
...without the adjustments in the perl script. AAMOF, it's even simpler if you can tolerate hyphen separators rather than underscores. (date +%F)
I'll give that a shot. Note that I have not been running this as root (though crond is running as root).
Most of the time, if it's a permissions problem, crond will send an email telling me it's a permissions problem. === Al