Could it be that during forking a different effective user id is set, which is what -x checks? are $<, $>, $( and $) all the same under cgi and mod_perl?
(it sounds like /usr/bin/rcsdiff is not a symbolic link, which could be treated differently maybe, followsymlinks, etc) Niels L > The mod_perl server and the CGI server are the same. It's just a > handler configured for CGI's for *.cgi and mod_perl for *.pl, and I've > symlinked from a .pl to the .cgi. > > The web server for CGI and mod_perl and the command line run were all > done as the same user. > > Code like this: > > warn "$cmd is " . (-x $cmd ? "" : " not") ." EXECUTABLE\n" ; > warn `ls -l $cmd`; > > Yields this under mod_perl: > > /usr/bin/rcsdiff is not EXECUTABLE > -rwxr-xr-x 1 root root 49388 Sep 21 2004 /usr/bin/rcsdiff > > and this from the command line and > > /usr/bin/rcsdiff is EXECUTABLE > -rwxr-xr-x 1 root root 49388 Sep 21 2004 /usr/bin/rcsdiff > > and in a CGI: > > /usr/bin/rcsdiff is EXECUTABLE > -rwxr-xr-x 1 root root 49388 Sep 21 2004 /usr/bin/rcsdiff > > Same server, CGI vs mod_perl, different behavior. > > Probably not permissions. But what? > > Eric