next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Poniendo límites de tiempo Sup: Señales Ant: Controlando errores en tiempo Err: Si hallas una errata ...


Controlando warnings en tiempo de ejecución

Para controlar los mensajes de warning basta con instalar un manejador de warnings en $SIG{__WARN__}. Todos los mensajes serán redirigidos al manejador y es responsabilidad de este mostrarlos. Así pues, el uso de un manejador $SIG{__WARN__} nos permite silenciar selectivamente warnings. Veamos un ejemplo:

$ cat -n warnings.pl
 1  #!/usr/bin/perl -w
 2  use strict;
 3
 4  my $ErrStr = "";
 5  my $warnflag = 1;
 6
 7  sub warnhandler {
 8    $ErrStr .= $_[0] if $warnflag
 9  }
10
11  $SIG{'__WARN__'} = \&warnhandler;
12
13  warn "Cuidado: Mira detrás de ti!\n";
14  $warnflag = 0;
15  warn "Alguien está vigilando!\n";
16
17  print "La cadena ErrStr contiene:\n$ErrStr\n";

Al ejecutarlo se obtiene la siguiente salida:

$ ./warnings.pl
La cadena ErrStr contiene:
Cuidado: Mira detrás de ti!


next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Poniendo límites de tiempo Sup: Señales Ant: Controlando errores en tiempo Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21