<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3660" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=122064320-20052010><FONT face=Arial 
color=#0000ff size=2>i got it... mas believe nao eh&nbsp; soh oraco; tem um 
sybase vagabundo e um db2 e o arquivo texto tem cerca de 2,5 gigas... 
:'(</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> 
saopaulo-pm-bounces+carlos.guarnieri=citi.com@pm.org 
[mailto:saopaulo-pm-bounces+carlos.guarnieri=citi.com@pm.org] <B>On Behalf Of 
</B>Andre Carneiro<BR><B>Sent:</B> quinta-feira, 20 de maio de 2010 
15:50<BR><B>To:</B> saopaulo-pm@mail.pm.org<BR><B>Subject:</B> Re: [SP-pm] 
Comparando grande massa de dados<BR></FONT><BR></DIV>
<DIV></DIV>Tenho quase certeza que o teu hash não vai trabalhar mais rápido que 
o índice do Oracle. Acho bem difícil.<BR><BR>Você não vai ter segmento de UNDO e 
REDO, porque você estaria carregando com sqlldr. Não tem volta!!!! ;) Esse é um 
dos motivos dele ser rápido!!!!<BR><BR>Você pode perder desempenho se os índices 
não estiverem ok! Nesse caso vc deve regerá-los. Mas isso seria apenas no 
momento de execução teu SELECT .<BR><BR>Eu tô sugerindo essas coisas, porque 
trabalhar diretamente com os dados, embora bom para o aprendizedo, aumenta as 
chances de erros. Se vc está trabalhando no ambiente do RDBMS, pelo menos alguns 
erros(principalmente no que se refere a referências), são mais facilmente 
detectáveis através da interface com o banco de dados.<BR><BR>Mas se você 
prefere fazer 'no braço', não tem problema também. Você pode usar o módulo do 
CVS que eu sugeri, você pode usar diff(ordenando as pesquisas nos dois bancos de 
dados, vc consegue capturar as diferenças).<BR><BR>diff -Bub arq_Oracle.dat 
arq_Sybase.dat &gt;dedoduro.txt<BR><BR>Enfim, várias soluções possíveis. Se eu 
conseguir lembrar de mais alguma coisa eu posto 
.<BR><BR><BR>Cheers!<BR><BR><BR><BR><BR>
<DIV class=gmail_quote>2010/5/20 Guarnieri, Carlos [ICG-IT] <SPAN dir=ltr>&lt;<A 
href="mailto:carlos.guarnieri@citi.com">carlos.guarnieri@citi.com</A>&gt;</SPAN><BR>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
  <DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2>Hallo,</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2>&nbsp;&nbsp;&nbsp; O&nbsp;Otavio pegou a ideia. Eh exatamente isso que 
  quero fazer comparar os hashes (e apenas inserir as PKS e hashes no banco) 
  porque... na verdade tenho que comparar um arquivo txt (que vem de mainframe) 
  com os bancos de dados. Os dois usam UTF-8 porque temos enderecos russos em 
  cirilico e em outras formatos estranhos :p</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Nao quero 
  jogar os dados todos no banco porque quero um processo rapido e nao quero 
  correr o risco de exaurir a temp do banco ou segmento de 
  rollback.</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Talvez o 
  melhor seja retirar as coisas do banco e gerar os hashes em arquivos 
  temporarios...</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Nao temos 
  timing para comprar ferramenta especifica pra isso (e eu acho tb q nao 
  compensa) e o processo tem de rodar toda semana e/ou sob demanda porque contem 
  informacoes criticas de cliente (que soh podem ficar em area 
  militarizada).</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Valew 
  pelas dicas.&nbsp; Vou acabar comparando em arquivos locais mesmo. O servidor 
  de processo eh bem parrudo</FONT></SPAN></DIV><BR>
  <DIV lang=en-us dir=ltr align=left>
  <HR>
  <FONT face=Tahoma size=2>
  <DIV class=im><B>From:</B> saopaulo-pm-bounces+carlos.guarnieri=<A 
  href="http://citi.com" target=_blank>citi.com</A>@<A href="http://pm.org" 
  target=_blank>pm.org</A> [mailto:<A 
  href="mailto:saopaulo-pm-bounces%2Bcarlos.guarnieri" 
  target=_blank>saopaulo-pm-bounces+carlos.guarnieri</A>=<A 
  href="http://citi.com" target=_blank>citi.com</A>@<A href="http://pm.org" 
  target=_blank>pm.org</A>] <B>On Behalf Of </B>Andre 
  Carneiro<BR></DIV><B>Sent:</B> quinta-feira, 20 de maio de 2010 14:20
  <DIV>
  <DIV></DIV>
  <DIV class=h5><BR><B>To:</B> <A href="mailto:saopaulo-pm@mail.pm.org" 
  target=_blank>saopaulo-pm@mail.pm.org</A><BR><B>Subject:</B> Re: [SP-pm] 
  Comparando grande massa de dados<BR></DIV></DIV></FONT><BR></DIV>
  <DIV>
  <DIV></DIV>
  <DIV class=h5>
  <DIV></DIV>
  <DIV class=gmail_quote>2010/5/20 Otavio Pereira <SPAN dir=ltr>&lt;<A 
  href="mailto:otavio.pereira@gmail.com" 
  target=_blank>otavio.pereira@gmail.com</A>&gt;</SPAN><BR>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Na 
    verdade, eu acho que entendi.<BR><BR>Ele tem pks identicas nos dois bancos, 
    então ele quer tratar o registro inteiro (50+ colunas) como uma string e 
    gerar um hash disso e então comparar com os hashes obtidos no outro banco. 
    Onde os hashs não baterem, levantará um flag (a tabela dedo-duro que ele 
    comentou) para averiguação.<BR><BR></BLOCKQUOTE>
  <DIV><BR>Eu entendi mais ou menos isso... rsrs!!! Mesmo assim não vejo porque 
  salvar em arquivos. Mas se são as mesmas PKs, porque não salvar uma tabela 
  temporária no banco que será sincronizado e utilizar essa tabela mesmo para 
  fazer a comparação??<BR>&nbsp;</DIV>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Se 
    for isso, o único problema que vejo é qto aos charsets dos bancos e 
    caracteres extras que eles possam inserir (tipo fazer padding a direita com 
    espaços ou 0x0), sei lá. <BR><BR></BLOCKQUOTE>
  <DIV><BR>Já eu sinceramente espero que os dois bancos estejam em UTF-8. Se não 
  estiver, terás que usar Encode para converter os dados antes de comparar, e 
  provalemente, tabelas de conversão de caracteres.<BR><BR>Não sei se vai ser 
  uma boa idéia carregar hashes tão grandes na memória. Pode-se salvar tudo em 
  CSV&nbsp; e usar DBD::CSV para comparar, por exemplo.<BR><BR>&nbsp;</DIV>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Já 
    tentei fazer isso com um banco de dados médico pra tentar diferenciar 
    homônimos, funcionou mais ou menos... mas é que tinha muitos José Silvas e 
    Marias Severinas no banco rs.<BR><BR>Espero que tenha entendido certo! 
    <BR><BR></BLOCKQUOTE>
  <DIV><BR>Entendi sim, valeu!<BR>&nbsp;</DIV>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">[]<BR 
    clear=all>Otávio<BR><BR><BR>
    <DIV class=gmail_quote>2010/5/20 Andre Carneiro <SPAN dir=ltr>&lt;<A 
    href="mailto:andregarciacarneiro@gmail.com" 
    target=_blank>andregarciacarneiro@gmail.com</A>&gt;</SPAN> 
    <DIV>
    <DIV></DIV>
    <DIV><BR>
    <BLOCKQUOTE class=gmail_quote 
    style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Nossa! 
      Q confusão!<BR><BR>Deixa eu ver se entendi: <BR><BR>1) Você quer 
      sincronizar uma base Oracle com uma Sybase(vice-versa???);<BR>2) Se vc já 
      vai carregar coisas com o sqlldr numa tabela temporária, já na base de 
      produção, pra que vc precisa de hashes??? Não entendi. Se os dados já 
      estão lá, compara com a tabela em produção diretamente com SQL, procedures 
      etc...(se eu estiver falando besteira, pode me xingar);<BR>3)Você já 
      pensou em utilizar alguma ferramenta de migração de dados ? Se isso é 
      crítico no seu trabalho, talvez(só uma sugestão) uma solução pronta possa 
      resolver de maneira mais efetiva( não sei se resolve, mas vi essa aqui: <A 
      href="http://www.swissql.com/products/oracle-to-sybase/oracle-to-sybase.html" 
      target=_blank>http://www.swissql.com/products/oracle-to-sybase/oracle-to-sybase.html</A> 
      );<BR><BR><BR>Cheers!<BR><BR><BR><BR>
      <DIV class=gmail_quote>2010/5/20 Guarnieri, Carlos [ICG-IT] <SPAN 
      dir=ltr>&lt;<A href="mailto:carlos.guarnieri@citi.com" 
      target=_blank>carlos.guarnieri@citi.com</A>&gt;</SPAN> 
      <DIV>
      <DIV></DIV>
      <DIV><BR>
      <BLOCKQUOTE class=gmail_quote 
      style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
        <DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>o 
        problema eh q teria de lidar com o sqldr (oracle) e o bcpin (sybase). 
        Nao posso usar base de teste; apenas prod 2 prod. Os arquivos vem de 
        mainframe. Preciso comparar conteudo de campos para garantir que estejam 
        em sincronia (nao.. nao tem um lastUpdateDate....) Sao dados sensiveis 
        de companhias que tem permissao do FED para transferir certas 
        quantias...</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Aqui 
        esta uma ideia:</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN></SPAN>&nbsp;</DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp; <FONT face=Arial><FONT 
        color=#0000ff size=2>1) pego o arquivo e usando a PK dele (um codigo 
        unico e obrigatorio, global da empresa no FED) gero um hash pros campos 
        que quero comparar</FONT></FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        <FONT face=Arial color=#0000ff size=2>carrego&nbsp;esse arquivo no 
        dbms&nbsp; que quero fazer comparacao (usando sqldr / bcpin) - talvez de 
        300 em 300 mil </FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN></SPAN><SPAN><FONT face=Arial 
        color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (hj o 
        cadastro eh mais de 1 milhao mas continua crescendo. nao posso correr o 
        risco de enche a temp do banco)</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp; <FONT face=Arial><FONT 
        color=#0000ff size=2>1.1) pros IDS carregados gero em outra tabela 
        temporaria os hashes dos registros que ja estavam no dbms e comparo os 
        hashes. </FONT></FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp; <FONT face=Arial><FONT 
        color=#0000ff size=2>1.2) Os IDS que tem hashes separados vao pra minha 
        tabela dedo duro dos registros fora de sync.</FONT></FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
        color=#0000ff size=2>1.3) limpa a tabela dos hashes e repete 1.1 e 1.2 
        ateh o final do arquivo</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
        color=#0000ff size=2>1.4) manda os arquivos fora de sync pro mainframe, 
        apaga as temp,</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp; <FONT face=Arial 
        color=#0000ff size=2>1.5) cd /pub; more beer;&nbsp; while(true) do; 
        sleep; done</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2>razoavel? </FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN>&nbsp;&nbsp;&nbsp; </SPAN></DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV lang=en-us dir=ltr align=left>
        <HR>
        <FONT face=Tahoma size=2>
        <DIV><B>From:</B> saopaulo-pm-bounces+carlos.guarnieri=<A 
        href="http://citi.com" target=_blank>citi.com</A>@<A 
        href="http://pm.org" target=_blank>pm.org</A> [mailto:<A 
        href="mailto:saopaulo-pm-bounces%2Bcarlos.guarnieri" 
        target=_blank>saopaulo-pm-bounces+carlos.guarnieri</A>=<A 
        href="http://citi.com" target=_blank>citi.com</A>@<A 
        href="http://pm.org" target=_blank>pm.org</A>] <B>On Behalf Of </B>Andre 
        Carneiro<BR></DIV><B>Sent:</B> quinta-feira, 20 de maio de 2010 08:41 
        <DIV>
        <DIV></DIV>
        <DIV><BR><B>To:</B> <A href="mailto:saopaulo-pm@mail.pm.org" 
        target=_blank>saopaulo-pm@mail.pm.org</A><BR><B>Subject:</B> Re: [SP-pm] 
        Comparando grande massa de dados<BR></DIV></DIV></FONT><BR></DIV>
        <DIV>
        <DIV></DIV>
        <DIV>
        <DIV></DIV>Existe o sqlldr para Oracle(mas você já sabia disso :D). Ele 
        serve exatamente para carregar grandes quantidades de dados 
        rapidamente.<BR><BR>Existem alguns módulos para manipular e executar 
        cargas de dados no CPAN, utilizando o SQLLoader. O que eu achei mais 
        simples foi esse aqui:<BR><BR><A 
        href="http://search.cpan.org/%7Eezra/Oracle-SQLLoader-0.9/lib/Oracle/SQLLoader.pm" 
        target=_blank>http://search.cpan.org/~ezra/Oracle-SQLLoader-0.9/lib/Oracle/SQLLoader.pm</A><BR><BR>O 
        problema é que não é atualizado desde 2006!!! <BR><BR><BR><BR>
        <DIV class=gmail_quote>2010/5/19 Guarnieri, Carlos [ICG-IT] <SPAN 
        dir=ltr>&lt;<A href="mailto:carlos.guarnieri@citi.com" 
        target=_blank>carlos.guarnieri@citi.com</A>&gt;</SPAN><BR>
        <BLOCKQUOTE class=gmail_quote 
        style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
          <DIV>
          <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
          size=2>entao... sao oracle e sybase... mas como os arquivos sao 
          grandes to com medo de joga pro 
        banco.</FONT></SPAN></DIV></DIV></BLOCKQUOTE>
        <DIV><BR>Deixe disso! Faça muitos testes em tabelas temporárias(se 
        possível em uma base de testes), e seja feliz!<BR><BR></DIV>
        <BLOCKQUOTE class=gmail_quote 
        style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
          <DIV>
          <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
          size=2></FONT></SPAN>&nbsp;</DIV>
          <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
          size=2>Tava pensando mais em pegar os dados e comparar no 
          unix...</FONT></SPAN></DIV>
          <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
          size=2></FONT></SPAN>&nbsp;</DIV></DIV></BLOCKQUOTE>
        <DIV><BR>Que tipo de comparação?<BR><BR>&nbsp;</DIV>
        <BLOCKQUOTE class=gmail_quote 
        style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
          <DIV>
          <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>o 
          q acham?</FONT></SPAN></DIV></DIV></BLOCKQUOTE>
        <DIV><BR>Não sei, mais detalhes por favor(se 
        possível)!!!<BR><BR>&nbsp;</DIV>
        <BLOCKQUOTE class=gmail_quote 
        style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
          <DIV><BR>
          <DIV lang=en-us dir=ltr align=left>
          <HR>
          <FONT face=Tahoma size=2><B>From:</B> 
          saopaulo-pm-bounces+carlos.guarnieri=<A href="http://citi.com" 
          target=_blank>citi.com</A>@<A href="http://pm.org" 
          target=_blank>pm.org</A> [mailto:<A 
          href="mailto:saopaulo-pm-bounces%2Bcarlos.guarnieri" 
          target=_blank>saopaulo-pm-bounces+carlos.guarnieri</A>=<A 
          href="http://citi.com" target=_blank>citi.com</A>@<A 
          href="http://pm.org" target=_blank>pm.org</A>] <B>On Behalf Of 
          </B>Andre Carneiro<BR><B>Sent:</B> quarta-feira, 19 de maio de 2010 
          18:09<BR><B>To:</B> <A href="mailto:saopaulo-pm@mail.pm.org" 
          target=_blank>saopaulo-pm@mail.pm.org</A><BR><B>Subject:</B> Re: 
          [SP-pm] Comparando grande massa de dados<BR></FONT><BR></DIV>
          <DIV>
          <DIV></DIV>
          <DIV>
          <DIV></DIV><BR><BR>
          <DIV class=gmail_quote>Em 19 de maio de 2010 17:39, Guarnieri, Carlos 
          [ICG-IT] <SPAN dir=ltr>&lt;<A href="mailto:carlos.guarnieri@citi.com" 
          target=_blank>carlos.guarnieri@citi.com</A>&gt;</SPAN> escreveu:<BR>
          <BLOCKQUOTE class=gmail_quote 
          style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Pessoal,<BR>Preciso 
            fazer a reconciliacao de um banco de dados. Essa reconciliacao tera 
            de rodar automatica todo final de semana para garantir que alguns 
            sistemas estejam em sync. Não temos poder sobre o formato do arquivo 
            que vamos receber, mas terei de comparar com algumas tabelas em 
            nosso banco de dados.<BR><BR>Enfim temos umas 50 colunas (algumas de 
            endereco [char 64] / mas a maioria char 20]) e mais de 1 milhao de 
            registros. Entao não quero fazer um sqlload em nosso banco para 
            comparar via banco.<BR>Alguem tem alguma sugestao interessante de 
            como comparar esses dados? Criar tabela de espalhamento e testar um 
            contra outro, exportar o banco no mesmo formato do arquivo e fazer 
            diff no unix (:d)...<BR><BR>Sugestoes são bem 
          vindas.<BR><BR></BLOCKQUOTE>
          <DIV><BR>Certo! <BR><BR>1) qual RDBMS você está usando (Postgres, 
          Oracle, SQLServer, MySQL) ?;<BR><BR>2) Você mencionou sqlload. Então 
          eu suponho que vc vai ter que transformar os dados no formato que o 
          sqlload aceita. Se for isso, você pode usar templates, por exemplo. Um 
          template para cada arquivo recebido com formato específico, e alguns 
          módulos que receberão os dados e usarão os templates para formatá-los 
          corretamente;<BR><BR>3) Exitem módulos para você trabalhar com o 
          sqlload no CPAN. Sugiro que você dê uma procurada e posta o RDBMS que 
          vc está usando para que nós possamos sugerir algum módulo para 
          você;<BR><BR><BR><BR>Cheers!<BR>&nbsp;</DIV>
          <BLOCKQUOTE class=gmail_quote 
          style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><BR>Valew<BR>_______________________________________________<BR>SaoPaulo-pm 
            mailing list<BR><A href="mailto:SaoPaulo-pm@pm.org" 
            target=_blank>SaoPaulo-pm@pm.org</A><BR><A 
            href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
            target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV><BR><BR 
          clear=all><BR>-- <BR>André Garcia Carneiro<BR>Analista/Desenvolvedor 
          Perl<BR>(11)82907780<BR></DIV></DIV></DIV><BR>_______________________________________________<BR>SaoPaulo-pm 
          mailing list<BR><A href="mailto:SaoPaulo-pm@pm.org" 
          target=_blank>SaoPaulo-pm@pm.org</A><BR><A 
          href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
          target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV><BR><BR 
        clear=all><BR>-- <BR>André Garcia Carneiro<BR>Analista/Desenvolvedor 
        Perl<BR>(11)82907780<BR></DIV></DIV></DIV><BR>_______________________________________________<BR>SaoPaulo-pm 
        mailing list<BR><A href="mailto:SaoPaulo-pm@pm.org" 
        target=_blank>SaoPaulo-pm@pm.org</A><BR><A 
        href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
        target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV></DIV></DIV>
      <DIV>
      <DIV></DIV>
      <DIV><BR><BR clear=all><BR>-- <BR>André Garcia 
      Carneiro<BR>Analista/Desenvolvedor 
      Perl<BR>(11)82907780<BR></DIV></DIV><BR>_______________________________________________<BR>SaoPaulo-pm 
      mailing list<BR><A href="mailto:SaoPaulo-pm@pm.org" 
      target=_blank>SaoPaulo-pm@pm.org</A><BR><A 
      href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
      target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV></DIV></DIV><BR><BR>_______________________________________________<BR>SaoPaulo-pm 
    mailing list<BR><A href="mailto:SaoPaulo-pm@pm.org" 
    target=_blank>SaoPaulo-pm@pm.org</A><BR><A 
    href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
    target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV><BR><BR 
  clear=all><BR>-- <BR>André Garcia Carneiro<BR>Analista/Desenvolvedor 
  Perl<BR>(11)82907780<BR></DIV></DIV></DIV><BR>_______________________________________________<BR>SaoPaulo-pm 
  mailing list<BR><A 
  href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</A><BR><A 
  href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
  target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV><BR><BR 
clear=all><BR>-- <BR>André Garcia Carneiro<BR>Analista/Desenvolvedor 
Perl<BR>(11)82907780<BR></BODY></HTML>