I have a perl script that uses system() to call a shell command, which uses ruby_executable_hooks.
When I run this script from the command line it executes flawlessl
I found the answer here: https://unix.stackexchange.com/questions/27289/how-can-i-run-a-cron-command-with-existing-environmental-variables
Specifically, I just put ". $HOME/.profile;" in front of the cron command like so:
0 5 * * * . $HOME/.profile; /path/to/command/to/run
Thank you all for putting me on the right track.