Pessoal,

   Aprendi em um tutorial a algum tempo fazer assim:
eval {
# Códigos que podem dar erro
}
if ($@) {
# Deu pau
}

   Só que alguns erros, principalmente relacionados a bando de dados (DBI),
mesmo ocorrendo no código dentro do eval abortam o programa. Tipo, tento
inserir com chave duplicada, o erro aborta o programa.

   Eu precisava de algo como try/except/finally, onde não importa qual erro
ocorre dentro do try, não aborta o programa e cai no except onde consigo
saber qual erro e trata-lo de forma especifica ou genérica, e se não deu
erro executa o código que está em finally.

   Como eu faço isso em Perl?

   Eu sei que são dúvidas bem elementares e alguns podem achar que eu to
com preguiça de procurar na net. Não é isso, sempre procuro antes de
perguntar. Mais como outro membro disse, em Perl há várias formas de fazer
a mesma coisa. Então quando não acho, ou não entendo, ou acho várias
formas, pergunto para tentar aprender a forma mais "elegante" e correta de
fazer.

   Obrigado pela paciência ... :-)

[...]'s

Marcio
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a