[PortoAlegre-pm] use Template

Mauricio Utils msb.utils em gmail.com
Quarta Janeiro 10 03:37:53 PST 2007


Oi, patty.

Tem certeza que o problema está relacionado a ter mais de um arquivo de
erros, e não ao conteúdo deles?

Nem imagino qual seja o problema, pois nunca trabalhei com Templates, mas
posso de tar uma dica de abordagem para identificar o problema:

Se para o 1o arquivo funciona, tenta colocar no mesmo diretorio somente ele,
com duas cópias. Ou seja, se o arquivo 020107 é o 1o com erro, e o teu
código funciona com ele, cria um diretório vazio para testar, coloca uma
cópia dele com o nome original neste diretório, e outra cópia com o nome de
020108 por exemplo. Se funcionar com as duas cópias o teu problema é em
relação ao conteúdo dos arquivos (ou forma de lidar com eles). Se não
funcionar, teu problema é outro que não tenho idéia... ;-)

Espero ter ajudado.

Abraço,
   Mauricio


On 1/9/07, Patty Silva <ptfzs at yahoo.com.br> wrote:
>
> Ola Pessoal.. estou usando o Template porem nao estou conseguindo fazer a
> gravacao em diversos arquivo ele so grava no 1 arquivo..
>
> meu codigo resumido.....:
> Eu leio de um diretorio diversos arquivos e se dentro do arquivo possuir
> erro ele me gera um LOG ....
>
> #!/usr/bin/perl
>
>
> use Template;
> .................
> opendir (DIR, $basedir) or die "Problemas ao abrir diretorio: $!";
>
> while (my $file = readdir(DIR))
> {
>     next if $file eq '.' or $file eq '..';
>
>     chdir($dir) || die "\n *** Erro no diretorio $dir ***";
>
>     $file=~ /(\d\d\d\d\d\d)/;
>     $arquivo_saida="$".".log_error";
>
>
>     open(FH, "<$file") or die("Nao pode acessar o arquivo");
>
>     while(<FH>)
>     {    .....................................................
>
>         if($bla eq 'erro')
>         {
>            push @erros, { var => $nome,data => $data}
>         }
>
>
>
>       }
>
> unlink($file);
>
> chdir($dirlog);
>
> $tamanho = @erros;
>
> my $data_ref = {
>     erros => \@erros,
> };
>
> my $t = Template->new;
>
> $t->process(\*DATA,$data_ref,$arquivo_saida);
>
>
>
> }
>
>
> -----------------------------------------------------------------------------------------------------------
> close(FH);
> closedir(DIR);
>
> $dbh->disconnect();
>
> dbmclose %DBM;
>
>
> __DATA__
>
> ERRO
> [% FOREACH id = erros %]
>
> ---------------------------------------------------------------------------------
> Variavel: [%nome%] Data: [% data %]
>
> ---------------------------------------------------------------------------------
> [% END %]
>
>
>
> Quando tem diversos arquivos ele gera so do 1 e da o seguinte erro nos
> outros:
>
> Use of uninitialized value in substr at /usr/lib/perl5/site_perl/5.8.8/i586-linux-thread-multi/Template/Provider.pm
> line 1044, <DATA> chunk 1.
>
>
>
> Alguem pode dizer o que pode ser??
>
>
> Obrigada
>
> __________________________________________________
> Fale com seus amigos de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
>
> _______________________________________________
> PortoAlegre-pm mailing list
> PortoAlegre-pm at pm.org
> http://mail.pm.org/mailman/listinfo/portoalegre-pm
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/portoalegre-pm/attachments/20070110/0abfa6b2/attachment.html 


Mais detalhes sobre a lista de discussão PortoAlegre-pm