[SP-pm] Dúvida com o módulo File::Find

Alexei Znamensky russoz at gmail.com
Tue Jul 13 09:44:38 PDT 2010


Se você não mostra a mensagem de erro, fica bem difícil de alguém te ajudar.

De cara, apesar de não causar (à primeira vista) um problema na execução,
você ter um laço do tipo foreach($_) { .. } dentro das suas subs é algo
desnecessário e indicativo de que você não entende direito o que está
fazendo.

Sugiro ler novamente, com mais cudado desta vez, a documentação do
File::Find.

[]s,
Russian

2010/7/13 "Flávio R. Lopes" <flavio.lopes em links.inf.br>

> Pessoal, ainda não consegui fazer funcionar o programa para descriptografar
> os arquivos!
> Alguém poderia me dar uma ajudar?
>
> Abraço,
> Flávio
>
> Em 12-07-2010 20:40, "Flávio R. Lopes" escreveu:
>
>  Boa noite pessoal!
>>
>> Fiz um programa (Encripta.pl) para encryptar recursivamente os arquivos
>> que ficam debaixo de uma árvore de um determinado diretório.
>> E o outro programa para desencriptar (Desencripta.pl) os arquivos que
>> foram encriptados pelo programa anterior.
>>
>> O programa para encriptar está funcionando:
>>
>> Encripta.pl:
>>
>> #!/usr/bin/perl
>>
>> use strict;
>> use warnings;
>> use 5.012;
>>
>> use File::Find;
>> use GnuPG qw( :algo );
>>
>> my $gpg = new GnuPG();
>>
>> my $diretorios = "/home/flavio/teste_cripto"; ## Aqui ainda pretendo criar
>> um array para "armazenar" uma lista com mais diretórios
>>
>>
>>
>> my $secret = "123-minha-senha-321"; ## Senha utilizada para criação da
>> Chave
>> my $arquivos;
>>
>> find( \&busca, $diretorios );
>>
>> sub busca {
>>
>> foreach ($_) {
>>
>> $gpg->encrypt(
>> plaintext => "$_",
>> output => "$_.gpg",
>> armor => 1,
>> sign => 1,
>> recipient => "0D59E2D1", ## Minha Chave
>> passphrase => $secret
>> );
>>
>> # say $_;
>>
>> }
>>
>> # unlink $_ if /\.gpg$/;
>>
>> # print "$arquivos\n" if -f $arquivos;
>>
>> }
>>
>>
>> O meu problema é para desencriptar os dados. Eu rodo o programa abaixo
>> (Desencripta.pl) e dá um erro que não estou conseguindo entender:
>>
>> Desencripta.pl:
>>
>> #!/usr/bin/perl
>>
>> use strict;
>> use warnings;
>> use 5.012;
>>
>> use File::Find;
>> use GnuPG qw( :algo );
>>
>> my $gpg = new GnuPG();
>>
>> my $diretorios = "/home/flavio/teste_cripto";
>>
>> my $secret = "123-minha-senha-321";
>> my $arquivos;
>>
>> find( \&busca, $diretorios );
>>
>> sub busca {
>>
>> foreach ($_) {
>> $gpg->decrypt(
>> ciphertext => " $_ ",
>> output => " $_ ",
>> recipient => "0D59E2D1",
>> passphrase => $secret
>> );
>>
>> ## say $_; --> Aqui eu dei um "say" nesta variável para verificar se
>> realmente estava trazendo os nomes dos arquivos e o
>> gozado é que é que ela lista todos os arquivos que foram
>> encriptados, mas mesmo assim dá um erro quando rodo o
>> programa
>>
>>
>>
>>  }
>> }
>>
>> O que está errado no meu programa?
>>
>> Abraço,
>> Flávio
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [
www.flickr.com/photos/alexeiz]
"Though we live in trying times, we're the ones who have to try"
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100713/892ede49/attachment.html>


More information about the SaoPaulo-pm mailing list