You have an example of capturing the pseudo-signal __DIE__
See perldoc -f die, to see the posible exit codes (one of them is 255)
-------
oscar@toreyes-i7:~/WIP/perl/gestion_DIE$ cat prueba.pl use diagnostics; use strict; sub mensaje() { print "OJO !!!! Este script se ha muerto por la ejecuc +ión de die()\n"; } # Instalar manejador en caso de ejecuarse un die() $SIG{__DIE__} = \&mensaje; my $refFake = 'pepe'; print $refFake->{'lolo'}; # Aqui se genera el error print "Me moriré antes de mostrar esta linea\n"; oscar@toreyes-i7:~/WIP/perl/gestion_DIE$ perl prueba.pl OJO !!!! Este script se ha muerto por la ejecución de die() Can't use string ("pepe") as a HASH ref while "strict refs" in use at +prueba.pl line 10. oscar@toreyes-i7:~/WIP/perl/gestion_DIE$ echo $? 255
-------
Another example:
oscar@toreyes-i7:~/WIP/perl/gestion_DIE$ cat prueba2.pl use diagnostics; use strict; use Data::Dumper; sub mensaje() { print "OJO !!!! Este script se ha muerto por la ejecuc +ión de die()\n"; } sub handler { # 1st argument is signal name # En caso de una "unhandled excepcion" como la +generada # por die(), @_ parece que es el mensaje de err +or en vez # del identificador de una señal real. my($sig) = @_; print "Dumper(\$sig): ", Dumper($sig); if ($sig) { print "sig:", $sig, "\n"; print "Caught a SIG$sig--shutting down\n"; } else { print "sig no tiene un valor de señal\n"; } ## exit(0); } # Instalar manejador en caso de ejecutarse un die() # $SIG{__DIE__} = \&mensaje; $SIG{__DIE__} = \&handler; my $refFake = 'pepe'; print $refFake->{'lolo'}; # Aqui se genera el error print "Me moriré antes de mostrar esta linea\n"; oscar@toreyes-i7:~/WIP/perl/gestion_DIE$ echo $? 255
------
In reply to Re: PERL exit code 255
by Anonymous Monk
in thread PERL exit code 255
by mcintst
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |