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

Marcio Ferreira marciodesouzaferreira at gmail.com
Sat Sep 25 21:43:14 PDT 2010


Na Documentação diz haver um parâmetro( o "untaint_skip" ) que faz um skip
do diretório, ou se preferir há uma extensão desse módulo que permiti vários
tipos de controle, File::Find::Closures -
http://search.cpan.org/~bdfoy/File-Find-Closures-1.09/lib/Closures.pm

Quanto a descriptografia, é melhor perguntar como ela será realizada ?
Talvez seja melhor você passar o(s) arquivo(s) como parâmetro, ou fazer uma
consulta ao banco de dados, JSON, enfim.

Nunca testei esse módulo, mas se isso não resolver posta novamente que posso
testar.

[]s,

@webgenes
Marcio Ferreira

"Perl lives as the 'toolbox for Unix' "



Em 26 de setembro de 2010 01:08, "Flávio R. Lopes" <
flavio.lopes at links.inf.br> escreveu:

> 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 at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100926/fda0d902/attachment-0001.html>


More information about the SaoPaulo-pm mailing list