[Cascavel-pm] Uso de Template
Patty Silva
ptfzs em yahoo.com.br
Quarta Maio 9 05:15:22 PDT 2007
Luis.. :D
Eu 1 verifico se o arquivo existe...
se ele existir eu vou "ACRESCENTAR" dados no arquivo
if(-e "$dirlog/$dir/$log_error")
{
print "ARQUIVO EXISTE\n";
open my $FH1, ">>", $out or die "Nao foi Possivel Abrir o Arquivo: $!";
$t->process( \$input, $ref, $\out ) or die $template->error();
}
else
{
print "ARQUIVO NAO EXISTE\n";
$t->process( \$input, $ref, $out ) or die $template->error();
}
massssss nao funcionou.. ele imprime o nome do arquivo ...
:D
o q eu percebi foi que o $t->process( \$input, $ref, $\out ) ele cria outro arquivo.. independente de ja existir ou nao...
[]ss
Luis Motta Campos <luismottacampos em yahoo.co.uk> escreveu: 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}
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070509/05696c6b/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm