In the following in Perl script:
$a=apple
$b=orange
if ($?==0) {
# do something
}
What does $?
mean here?
$? or $CHILD_ERROR (if use English) contains the status of the last backtic (or several means of running a child process from Perl.) See perlvar for a full explanation.
Others have answered the question about the meaning of $?
.
I thought I would also mention that it is also possible to get help on Perl's special variables at the command prompt:
perldoc -v $?
Depending on your shell, you may need to escape the $
.
perldoc -h
$?
, along with all the other "magic" variables, is documented in the perlvar
section of the Perl manpages. If you don't actually have a Unix-like setup with the man
command, you should also be able to Google for man perlvar
.
This is the status returned by the last system operation, pipe, or backtick operation. See reference perlvar.