Also, make sure that in your script, all the paths are absolute path (ie: /my/path/) instead of relative paths (ie: …/…/my/path)
and also, try a nagios restart, so that nagios uses all the environment variables you currently have
edit: I forgot, but you can try to redirect all the error output to the standard output, so that nagios will read it…
(I’ve encountered this a few times: the script was writing on the error output because through nagios, there were some problems … so nagios just says “no output!”; I just had to redirect the error output to the standard output to see that my perl script had some errors …)