[SP-pm] Dúvidas com o módulo File::Find
thiago glauco
thiagoglauco at ticursos.net
Sun Sep 26 05:57:17 PDT 2010
"Flávio R. Lopes" wrote:
Ok, vou dar uma olhadinha no código e passar no debug. Ai mando de volta.
> Olá pessoal.
> Na verdade estou "requentando" uma dúvida minha sobre um programa que
> comecei e não terminei.
>
> Estou tentando fazer 2 programas que tratam de criptografar e
> descriptografar dados recursivamente dentro de uma árvore de diretórios.
>
> O código deles está aqui: http://gist.github.com/597573
>
> No programa "criptografa.pl" ele já consegue criptografar dados dos
> diretórios, mas está acontecendo um problema que ele criptografa o
> nome dos diretórios inclusive os ocultos. Supondo que eu aponte para
> um determinado diretório e que dentro dele eu tenha um diretório
> chamado "dir1" e mais dois arquivos chamados "arquivo1" e "arquivo2"
> ao rodar o programa e se eu der o comando "ls -al" dentro do tal
> diretório me aparece o seguinte:
>
>
> dir1
> arquivo1
> arquivo1.gpg
> arquivo2
> arquivo2.gpg
> dir1.gpg --> aqui criptograga o nome do diretorio
> ..gpg -- > e aqui e no debaixo os diretórios ocultos
> ..gpg.gpg
>
> Como faço para o programa "pegar" somente os arquivos para
> criptografar, ignorando os diretórios ?
>
>
> Já o programa "descriptografa.pl" ocorre um erro que não consegui
> descobrir e os arquivos não são descriptografados. Acredito que eu
> esteja errando alguma coisa ao utilizar o módulo File:Find na passagem
> de parâmetros.
> A mensagem de erro é esta:
>
> Protocol error: expected NEED_PASSPHRASE.* got NODATA
> at /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 154
> GnuPG::abort_gnupg('GnuPG=HASH(0xf99b48)', 'Protocol error:
> expected NEED_PASSPHRASE.* got NODATA\x{a}') called at
> /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 345
> GnuPG::send_passphrase('GnuPG=HASH(0xf99b48)', 123456) called at
> /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 740
> GnuPG::decrypt_postwrite('GnuPG=HASH(0xf99b48)', 'ciphertext', .,
> 'output', '..txt', 'symmetric', 1, 'passphrase', 123456, ...) called
> at /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 725
> GnuPG::decrypt('GnuPG=HASH(0xf99b48)', 'ciphertext', ., 'output',
> '..txt', 'symmetric', 1, 'passphrase', 123456, ...) called at
> /home/flavio/workspace/TESTE/decripto_teste.pl line 34
> main::busca() called at /usr/local/lib/perl5/5.12.1/File/Find.pm
> line 854
> File::Find::_find_dir('HASH(0xf99bd8)',
> '/home/flavio/teste_cripto', 3) called at
> /usr/local/lib/perl5/5.12.1/File/Find.pm line 722
> File::Find::_find_opt('HASH(0xf99bd8)',
> '/home/flavio/teste_cripto/') called at
> /usr/local/lib/perl5/5.12.1/File/Find.pm line 1297
> File::Find::find('CODE(0x11617a8)', '/home/flavio/teste_cripto/')
> called at /home/flavio/workspace/TESTE/decripto_teste.pl line 18
>
>
> Parece que ele não localiza a senha. Mas eu tentei inclusive colocar a
> senha dentro da sub eliminando a variável $secret. Ou seja, fez desta
> forma: passphrase => "123456"
>
> O que está errado?
>
> Abraço,
> Flávio
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
More information about the SaoPaulo-pm
mailing list