[SP-pm] alarm()

Luis Motta Campos luismottacampos em yahoo.co.uk
Terça Janeiro 29 14:36:04 PST 2008


Luis Motta Campos wrote:
>    Faz assim:
> 
[código feio]

Ah, se eu pego o palhaço que postou código feio nesta lista... aqui tem 
uma versão bonitinha (e que compila - o que não quer dizer que eu testei!).

#!/usr/bin/perl
use strict;
use warnings;

sub processa;
sub busca_info;

local $SIG{ALARM} = sub { die q{Acorda pra cuspir!}; };
for ( 0 .. 10 ) {    # para que isso?
     alarm 5;
     my ($info);
     eval { processa( busca_info($_), $_ ); };
     if ( defined $@ && $@ eq q{Acorda pra cuspir!} ) {

         # teu alarme deu timeout: loga o evento, next.
         log(qq{Time out processando $_.});
         next;
     }
     elsif ( defined $@ ) {

         # deu merda, trata erro
     }    # else { # não acho que você precisa disso }
}    # for

__END__

Putamplexos!
-- 
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}


Mais detalhes sobre a lista de discussão SaoPaulo-pm