Amiga Paty, como dito anteriormente o $@ é a mensagem de erro do último eval executado, isso se o eval retornar um erro.<br><br>Ou seja, o eval que você executou retornou erro e você solicitou a impressão desse erro na tela. Que foi o acontecido.
<br><br>Correto?<br><br>Vale dar uma olhada para ver que erro é esse e como corrigí-lo.<br><br><div><span class="gmail_quote">On 1/29/07, <b class="gmail_sendername">Fernando Oliveira</b> <<a href="mailto:fernandocorrea@gmail.com">
fernandocorrea@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Provavelmente por $@ estar definido...<br><br>
Em 29/01/07, Patty Silva<<a href="mailto:ptfzs@yahoo.com.br">ptfzs@yahoo.com.br</a>> escreveu:<br>><br>> Ola Pessoal.. Retomando o Script... :)<br>><br>> Tentei inserir a sugestao que o Igor me passou porem quando coloco a linha
<br>> :<br>> };die $@ if defined $@;<br>><br>> da esse erro: Died at -><br>> Porem se eu tiro funciona!! :D<br>><br>><br>> O que pode ser?<br>><br>><br>><br>><br>> ----- Mensagem original ----
<br>> De: Nelson Ferraz <<a href="mailto:nferraz@gmail.com">nferraz@gmail.com</a>><br>> Para: Cascavel Perl Mongers <<a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a>><br>> Enviadas: Sexta-feira, 26 de Janeiro de 2007 15:45:33
<br>> Assunto: Re: [Cascavel-pm] Res: Res: Duvida $dbh->prepare<br>><br>><br>> Patty Silva wrote:<br>> > sub insert<br>> > {<br>> ><br>> > my ($nome,$var,$flag,@datas)=@_;<br>> >
<br>> ><br>> > my $sql = qq/ INSERT INTO tablea(Nome,Data) VALUES(?,?) ON DUPLICATE KEY<br>> UPDATE $var="$flag" /;<br>> ><br>> ><br>> > eval<br>> > {<br>> > $sth2 = $dbh->prepare($sql);
<br>> ><br>> > foreach my $data(@datas)<br>> > {<br>> > $sth2->execute($nome,$data);<br>> ><br>> ><br>> > }<br>> > $sth2->commit;
<br>> ><br>> > };<br>> ><br>> > }<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>> # 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>>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>><br>><br>> __________________________________________________
<br>> Fale com seus amigos de graça com o novo Yahoo! Messenger<br>> <a href="http://br.messenger.yahoo.com/">http://br.messenger.yahoo.com/</a><br>> _______________________________________________<br>> Cascavel-pm mailing list
<br>> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>><br>><br><br><br>--<br>[]'s Fernando
<br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm
</a><br></blockquote></div><br><br clear="all"><br>-- <br>Gabriel Vieira