http://www.perlmonks.org?node_id=710781


in reply to Call perl script from within another perl script

system() needs file system paths, not urls. If your cgi-bin directory is really at /var/www/cgi-bin (for example), then you have to use that path to call the script.

apache might also have problems finding the perl interpreter. You might use the complete path to perl to find out whether that is the problem

  • Comment on Re: Call perl script from within another perl script

Replies are listed 'Best First'.
Re^2: Call perl script from within another perl script
by huklberry (Novice) on Sep 12, 2008 at 02:48 UTC
    I tried this as well with no luck....

    system("/usr/bin/perl /cgi-bin/test1.pl");

      I think you missed what jethro was saying. /cgi-bin/test1.pl is very unlikely to be a file path to the executable. It implies (though guarantees nothing) that / is your webroot. When you're on the command line, where is test1.pl? That's what you're after. You should also be checking the system return and using the multi-arg call. See perldoc -f system or search in here for more.

        test1.pl is in the /cgi-bin directory. That's where all my perl scripts are located.

        [localhost cgi-bin]# pwd
        /cgi-bin
        [localhost cgi-bin]# ll test1.pl
        -rwxr-xr-x 1 root root 191 2008-09-11 21:14 test1.pl