Am Freitag, den 30.05.2008, 19:59 +0200 schrieb Daniel Leidert: > > sub search_path($) > > { > > my ($command) = @_; > > print STDERR "DEBUG search_path(): command=$command\n"; > > print STDERR "DEBUG search_path(): euid=$>, egid=$(, ruid=$<, rgid=$)\n"; > > for my $d (@command_path) { > > print STDERR "DEBUG search_path(): command=$command, d=$d\n"; > > my $cmd = catfile($d, $command); > > print STDERR "DEBUG search_path(): cmd=$cmd\n"; > > return $cmd if (-x $cmd && !-d _); > > } > > print STDERR "DEBUG search_path(): not successful for command=$command\n"; > > return ''; > > } > > Changing the -x to be -X works.
I now found, that using if (!-d $cmd && -x _) works. But if ((!-d $cmd) && (-x $cmd)) if ((-x $cmd) && (!-d _)) do not work, whereas if ((!-d $cmd) && (-x _)) again does work. Am I a blockhead? I think, they all should work. Regards, Daniel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]