> elsif ( defined $@ ) {
Dica: é melhor não testar para "definideness", pois $@ é sempre
definido depois de um eval:
#!/usr/bin/perl
eval {
# nao faz nada
};
if ( defined $@ ) {
print "\$@ definido com o valor '$@'\n";
}
(Eu sei porque já fui mordido por isso antes :-P)