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

"Flávio R. Lopes" flavio.lopes at links.inf.br
Tue Jul 13 09:53:12 PDT 2010


Olá Alexei!
Ok, vou dar uma lida novamente!

De qualquer forma, abaixo segue o erro:

#############
Use of uninitialized value $cmd in pattern match (m//) at 
/usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 736, <GEN0> line 1.
Use of uninitialized value $cmd in concatenation (.) or string at 
/usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 736, <GEN0> line 1.
protocol error: expected ENC_TO got :
  at /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 154
     GnuPG::abort_gnupg('GnuPG=HASH(0x176b220)', 'protocol error: 
expected ENC_TO got : \x{a}') called at 
/usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 736
     GnuPG::decrypt_postwrite('GnuPG=HASH(0x176b220)', 'ciphertext', ' . 
', 'output', ' . ', 'recipient', '0D59E2D1', 'passphrase', 
'123-minha-senha-321', ...) called at 
/usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 725
     GnuPG::decrypt('GnuPG=HASH(0x176b220)', 'ciphertext', ' . ', 
'output', ' . ', 'recipient', '0D59E2D1', 'passphrase', 
'123-minha-senha-321', ...) called at 
/home/flavio/workspace/Ferramentas/Desemcripta.pl line 23
     main::busca() called at /usr/local/lib/perl5/5.12.1/File/Find.pm 
line 854
     File::Find::_find_dir('HASH(0x1781b90)', 
'/home/flavio/teste_cripto', 5) called at 
/usr/local/lib/perl5/5.12.1/File/Find.pm line 722
     File::Find::_find_opt('HASH(0x1781b90)', 
'/home/flavio/teste_cripto') called at 
/usr/local/lib/perl5/5.12.1/File/Find.pm line 1297
#############

Abraço!

Em 13-07-2010 13:44, Alexei Znamensky escreveu:
> 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 
> <mailto: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 <mailto:SaoPaulo-pm em pm.org>
>         http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>     _______________________________________________
>     SaoPaulo-pm mailing list
>     SaoPaulo-pm em pm.org <mailto:SaoPaulo-pm em pm.org>
>     http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
>
> -- 
> Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com 
> <http://russoz.wordpress.com>] [www.flickr.com/photos/alexeiz 
> <http://www.flickr.com/photos/alexeiz>]
> "Though we live in trying times, we're the ones who have to try"
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm

-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100713/9adc5cdb/attachment.html>


More information about the SaoPaulo-pm mailing list