eval
{
open my $pipe, "perl --version |";
my @res = <$pipe>;
close $pipe;
};
print "Exit Status: " . ($?>>8);
If I use the not existing command "perl2 --version" then I get the following error message and the exit status 1.
Der Befehl "perl2" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Exit Status: 1
If I use an existing command like "perl --version" then I get the exit status 0 and no error message:
Exit Status: 0
Problem of course is that I then know the error not directly after the open, but only when the child process exited, that means after the close. |