Thread Problem bei der Ausführung von LINUX-Befehlen: Kommandozeilen-Befehle über perl ausf. (11 answers)
Opened by Duff at 2006-11-17 11:55

Duff
 2006-11-18 12:54
#71821 #71821
User since
2006-10-06
283 Artikel
BenutzerIn

user image
So, ich habe mir in der perldoc mal den Abschnitt zu Error-Indicators angeschaut
Quote
# $CHILD_ERROR
# $?

The status returned by the last pipe close, backtick (`` ) command, successful call to wait() or waitpid(), or from the system() operator. This is just the 16-bit status word returned by the wait() system call (or else is made up to look like it). Thus, the exit value of the subprocess is really ($?>> 8 ), and $? & 127 gives which signal, if any, the process died from, and $? & 128 reports whether there was a core dump. (Mnemonic: similar to sh and ksh.)

Additionally, if the h_errno variable is supported in C, its value is returned via $? if any gethost*() function fails.

If you have installed a signal handler for SIGCHLD , the value of $? will usually be wrong outside that handler.

Inside an END subroutine $? contains the value that is going to be given to exit(). You can modify $? in an END subroutine to change the exit status of your program. For example:

END {
$? = 1 if $? == 255; # die would make it 255
}

Under VMS, the pragma use vmsish 'status' makes $? reflect the actual VMS exit status, instead of the default emulation of POSIX status; see "$?" in perlvms for details.

Also see "Error Indicators"


Aber Verstanden habe ich das ganze noch nicht so recht.
Ich möchte doch herausfinden, ob ein Fehler auftritt und um was für einen Fehler es sich handelt und diesen Fehler dann ausgeben.
Nur wie?
D'OH
Daniel

View full thread Problem bei der Ausführung von LINUX-Befehlen: Kommandozeilen-Befehle über perl ausf.