From the other post it looks like I need to change the #! /bin/bash to #! /bin/sh is this correct?
No. But anytime you are writting a script to be run via cron you should always use full paths to each command. Cron may not have the same $PATH as a normal user. In fact I normally unset the $PATH variable first thing, just to make sure I wont try and rely on it.
eg; Instead of...
you would need to use...
Im not sure why your not just running this Perl script striaght from cron though? Why do you need the bash script at all?