I am trying to run a simple Perl script that calls an external executable (called 'ameme'). A CGI script would simply execute this 'script.pl'.
# MyPerl script.pl
my $thebase = $ARGV || 'bar';
my $my_repo = "/home/monkfan/public_html/FOO/results/" .$thebase. "\.o
+les/input_file.txt > $my_repo");
Strangely these things happen:
- When I run the CGI from the browser, the file IS CREATED under /home/monkfan/public_html/FOO/results/bar.out.
- However the output of 'ameme' is NIL. Meaning that 'ameme' give no result at all (size of 'bar.out' is 0).
- This doesn't happen when I try to run on command line (non-browser) everything works fine - file is created with the 'ameme' output content.
- Other executables (e.g. ameme2) don't have this problem.
I've checked the permission of the executable and directory, all seems to be ok:
-rwxrwxrwx 1 monkfan monkfan 127K Sep 17 13:20 ameme
drwxrwxrwx 13 monkfan monkfan 4.0K Sep 18 10:08 results
drwxrwxrwx 2 monkfan monkfan 4.0K Sep 18 14:56 input_files
-rw-r-xr-- 1 monkfan monkfan 327 Sep 18 13:31 input_file.txt
And looking at /var/log/httpd/error_log
, there is no error message whatsoever.
Without any SU power, I am using the following:
Apache/2.2.3 (Red Hat)
What went wrong with my Perl script above?