<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:10pt"><div style="font-family: times new roman,new york,times,serif; font-size: 10pt;">Obrigada Nelson.<br><br>Inclui&nbsp; eval{ };die $@ if defined $@;<br><br>e<br>&nbsp;if( $@ ){<br>&nbsp;&nbsp;&nbsp; $dbh-&gt;rollback;<br>&nbsp;&nbsp;&nbsp;&nbsp; die "Problema na Base de Dados: $@";<br>&nbsp;&nbsp; }<br><br><br><br>Thanks :)<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Mensagem original ----<br>De: Nelson Ferraz &lt;nferraz@gmail.com&gt;<br>Para: Cascavel Perl Mongers &lt;cascavel-pm@pm.org&gt;<br>Enviadas: Sexta-feira, 26 de Janeiro de 2007 15:45:33<br>Assunto: Re: [Cascavel-pm] Res:  Res: Duvida  $dbh-&gt;prepare<br><br><div>Patty Silva wrote:<br>&gt; sub insert<br>&gt; {<br>&gt; <br>&gt; my ($nome,$var,$flag,@datas)=@_;<br>&gt; <br>&gt; <br>&gt; my $sql = qq/ INSERT
 INTO tablea(Nome,Data) VALUES(?,?) ON DUPLICATE KEY UPDATE $var="$flag" /;<br>&gt; <br>&gt; <br>&gt; eval <br>&gt; {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sth2 = $dbh-&gt;prepare($sql);<br>&gt; <br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach my $data(@datas)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sth2-&gt;execute($nome,$data);<br>&gt; <br>&gt;&nbsp;&nbsp; <br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; $sth2-&gt;commit;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&gt; };<br>&gt; <br>&gt; }<br><br>Patty,<br><br>Você colocou o código dentro de um eval, o que é bom, mas não verificou<br>se ele retornou um erro, o que é mau.<br><br>Seria melhor fazer o seguinte:<br><br>eval {<br>&nbsp;&nbsp;# código<br>};<br><br># tratamento de erros<br>die $@
 if defined $@;<br><br><br>Esconder mensagens de erro é o mesmo que varrer a sujeira pra debaixo do<br>tapete: você deixa de enxergar o problema, mas ele continua lá.<br><br>[]s<br><br>Nelson<br><br>_______________________________________________<br>Cascavel-pm mailing list<br>Cascavel-pm@pm.org<br><a target="_blank" href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></div></div><br></div></div><br>__________________________________________________<br>Fale com seus amigos  de graça com o novo Yahoo! Messenger <br>http://br.messenger.yahoo.com/ </body></html>