Edward,
As a couple of comments have already pointed out, you do not necessarily have your expected environment set when your cron job runs.
The solution is to fully path your commands and files. So, make sure you know where your commands are:
MBPro:~ oren$ which echo
/bin/echo
MBPro:~ oren$ which nohup
/usr/bin/nohup
and update your script (change your locations as needed)
#!/usr/local/bin/perl -w
use strict;
system("/bin/echo test > /home/monkfan/testcron.txt");
#system("/usr/bin/nohup perl /home/monkfan/later_other_code.pl&");