[SP-pm] Dúvida com o módulo File::Find
"Flávio R. Lopes"
flavio.lopes at links.inf.br
Mon Jul 12 16:40:58 PDT 2010
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
More information about the SaoPaulo-pm
mailing list