[Cascavel-pm] Uso de Template

Luis Motta Campos luismottacampos em yahoo.co.uk
Quarta Maio 9 00:37:52 PDT 2007


On May 8, 2007, at 8:39 PM, Patty Silva wrote:
> Ola Pessoal...
> Estou usando a biblioteca Template

   Vejo que está usando seu cérebro, também. Parabéns por escolher  
uma biblioteca de templating e não tentar escrever a sua.

> so que quero que invez dela criar um arquivo novo ela apendar os  
> dados no arquivo ja existente

   "apendar" é a coisa mais HORRÍVEL que eu já li em Português...
   Você está se apropriando (inapropriadamente ;-) do verbo "To  
Append" e aportuguesando, para dizer "acrescentar".
   Eu gosto de escrever e ler corretamente em qualquer língua (ou  
linguagem) que eu falo. Por isso, recomendo tomar cuidado.
   Muito da nossa imagem é o que a gente escreve, já que a maior  
parte das pessoas não nos conhece pessoalmente.

   Mesmo assim, eu entendi o que você quer fazer.

> eu faco assim
> my $input = "
> [% FOREACH id = dados %]
> ---------------------------------------------------------------------- 
> -----------
>  Valor: [% valor %]
> ---------------------------------------------------------------------- 
> -----------
> [% END %]";


   Não vou comentar nada sobre o teu template - eu espero que você  
saiba o que está fazendo.

> my $ref = { dados => \@dados, };
> my $t = Template->new;
>
> $t->process( \$input, $ref, $out ) or die $template->error();

   A solução para o seu problema é passar $out como referência:

   $t->process( \$input, $ref, \$out ) or die $t->error;

   Assim, você vai ter o texto processado em $out, e vai poder abrir  
o arquivo e acrescentar por sua conta:

   open my $FH, '+>', '/caminho/para/relatorio.txt'
       or die $!;
   print $FH $out;
   close $FH or die $!;

   Espero que isso ajude.
   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




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