vou ver se implemento um modulo chamado &quot;Portugues&quot; que ira apontador erros crassos na lingua materna, como por exemplo &quot;desemcripta&quot;. Como diria a tia da 1a. série: &quot;m só antes de p ou b&quot;<br>

<br><div class="gmail_quote">2010/7/13 Giuliani Sanches <span dir="ltr">&lt;<a href="mailto:giulianisanches@gmail.com">giulianisanches@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Flávio,<br>
<br>
troca o seu $diretorios por:<br>
<br>
@diretorios = (&#39;meu_diretorio/&#39;)<br>
<br>
Dentro da sua sub busca, você não precisa fazer um foreach pois a<br>
função find automaticamente percorre o array passado e<br>
disponibilizando o path dentro do callback que você passou, na<br>
variável $_.<br>
<br>
[]&#39;s<br>
<br>
2010/7/13 &quot;Flávio R. Lopes&quot; &lt;<a href="mailto:flavio.lopes@links.inf.br">flavio.lopes@links.inf.br</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Olá Alexei!<br>
&gt; Ok, vou dar uma lida novamente!<br>
&gt;<br>
&gt; De qualquer forma, abaixo segue o erro:<br>
&gt;<br>
&gt; #############<br>
&gt; Use of uninitialized value $cmd in pattern match (m//) at<br>
&gt; /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 736, &lt;GEN0&gt; line 1.<br>
&gt; Use of uninitialized value $cmd in concatenation (.) or string at<br>
&gt; /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 736, &lt;GEN0&gt; line 1.<br>
&gt; protocol error: expected ENC_TO got :<br>
&gt;  at /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 154<br>
&gt;     GnuPG::abort_gnupg(&#39;GnuPG=HASH(0x176b220)&#39;, &#39;protocol error: expected<br>
&gt; ENC_TO got : \x{a}&#39;) called at<br>
&gt; /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 736<br>
&gt;     GnuPG::decrypt_postwrite(&#39;GnuPG=HASH(0x176b220)&#39;, &#39;ciphertext&#39;, &#39; . &#39;,<br>
&gt; &#39;output&#39;, &#39; . &#39;, &#39;recipient&#39;, &#39;0D59E2D1&#39;, &#39;passphrase&#39;,<br>
&gt; &#39;123-minha-senha-321&#39;, ...) called at<br>
&gt; /usr/local/lib/perl5/site_perl/5.12.1/GnuPG.pm line 725<br>
&gt;     GnuPG::decrypt(&#39;GnuPG=HASH(0x176b220)&#39;, &#39;ciphertext&#39;, &#39; . &#39;, &#39;output&#39;, &#39;<br>
&gt; . &#39;, &#39;recipient&#39;, &#39;0D59E2D1&#39;, &#39;passphrase&#39;, &#39;123-minha-senha-321&#39;, ...)<br>
&gt; called at /home/flavio/workspace/Ferramentas/Desemcripta.pl line 23<br>
&gt;     main::busca() called at /usr/local/lib/perl5/5.12.1/File/Find.pm line<br>
&gt; 854<br>
&gt;     File::Find::_find_dir(&#39;HASH(0x1781b90)&#39;, &#39;/home/flavio/teste_cripto&#39;, 5)<br>
&gt; called at /usr/local/lib/perl5/5.12.1/File/Find.pm line 722<br>
&gt;     File::Find::_find_opt(&#39;HASH(0x1781b90)&#39;, &#39;/home/flavio/teste_cripto&#39;)<br>
&gt; called at /usr/local/lib/perl5/5.12.1/File/Find.pm line 1297<br>
&gt; #############<br>
&gt;<br>
&gt; Abraço!<br>
&gt;<br>
&gt; Em 13-07-2010 13:44, Alexei Znamensky escreveu:<br>
&gt;<br>
&gt; Se você não mostra a mensagem de erro, fica bem difícil de alguém te ajudar.<br>
&gt; De cara, apesar de não causar (à primeira vista) um problema na execução,<br>
&gt; você ter um laço do tipo foreach($_) { .. } dentro das suas subs é algo<br>
&gt; desnecessário e indicativo de que você não entende direito o que está<br>
&gt; fazendo.<br>
&gt; Sugiro ler novamente, com mais cudado desta vez, a documentação do<br>
&gt; File::Find.<br>
&gt;<br>
&gt; []s,<br>
&gt; Russian<br>
&gt; 2010/7/13 &quot;Flávio R. Lopes&quot; &lt;<a href="mailto:flavio.lopes@links.inf.br">flavio.lopes@links.inf.br</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Pessoal, ainda não consegui fazer funcionar o programa para<br>
&gt;&gt; descriptografar os arquivos!<br>
&gt;&gt; Alguém poderia me dar uma ajudar?<br>
&gt;&gt;<br>
&gt;&gt; Abraço,<br>
&gt;&gt; Flávio<br>
&gt;&gt;<br>
&gt;&gt; Em 12-07-2010 20:40, &quot;Flávio R. Lopes&quot; escreveu:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Boa noite pessoal!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Fiz um programa (Encripta.pl) para encryptar recursivamente os arquivos<br>
&gt;&gt;&gt; que ficam debaixo de uma árvore de um determinado diretório.<br>
&gt;&gt;&gt; E o outro programa para desencriptar (Desencripta.pl) os arquivos que<br>
&gt;&gt;&gt; foram encriptados pelo programa anterior.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; O programa para encriptar está funcionando:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Encripta.pl:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; #!/usr/bin/perl<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; use strict;<br>
&gt;&gt;&gt; use warnings;<br>
&gt;&gt;&gt; use 5.012;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; use File::Find;<br>
&gt;&gt;&gt; use GnuPG qw( :algo );<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; my $gpg = new GnuPG();<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; my $diretorios = &quot;/home/flavio/teste_cripto&quot;; ## Aqui ainda pretendo<br>
&gt;&gt;&gt; criar um array para &quot;armazenar&quot; uma lista com mais diretórios<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; my $secret = &quot;123-minha-senha-321&quot;; ## Senha utilizada para criação da<br>
&gt;&gt;&gt; Chave<br>
&gt;&gt;&gt; my $arquivos;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; find( \&amp;busca, $diretorios );<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; sub busca {<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; foreach ($_) {<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; $gpg-&gt;encrypt(<br>
&gt;&gt;&gt; plaintext =&gt; &quot;$_&quot;,<br>
&gt;&gt;&gt; output =&gt; &quot;$_.gpg&quot;,<br>
&gt;&gt;&gt; armor =&gt; 1,<br>
&gt;&gt;&gt; sign =&gt; 1,<br>
&gt;&gt;&gt; recipient =&gt; &quot;0D59E2D1&quot;, ## Minha Chave<br>
&gt;&gt;&gt; passphrase =&gt; $secret<br>
&gt;&gt;&gt; );<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # say $_;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # unlink $_ if /\.gpg$/;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # print &quot;$arquivos\n&quot; if -f $arquivos;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; O meu problema é para desencriptar os dados. Eu rodo o programa abaixo<br>
&gt;&gt;&gt; (Desencripta.pl) e dá um erro que não estou conseguindo entender:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Desencripta.pl:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; #!/usr/bin/perl<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; use strict;<br>
&gt;&gt;&gt; use warnings;<br>
&gt;&gt;&gt; use 5.012;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; use File::Find;<br>
&gt;&gt;&gt; use GnuPG qw( :algo );<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; my $gpg = new GnuPG();<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; my $diretorios = &quot;/home/flavio/teste_cripto&quot;;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; my $secret = &quot;123-minha-senha-321&quot;;<br>
&gt;&gt;&gt; my $arquivos;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; find( \&amp;busca, $diretorios );<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; sub busca {<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; foreach ($_) {<br>
&gt;&gt;&gt; $gpg-&gt;decrypt(<br>
&gt;&gt;&gt; ciphertext =&gt; &quot; $_ &quot;,<br>
&gt;&gt;&gt; output =&gt; &quot; $_ &quot;,<br>
&gt;&gt;&gt; recipient =&gt; &quot;0D59E2D1&quot;,<br>
&gt;&gt;&gt; passphrase =&gt; $secret<br>
&gt;&gt;&gt; );<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ## say $_; --&gt; Aqui eu dei um &quot;say&quot; nesta variável para verificar se<br>
&gt;&gt;&gt; realmente estava trazendo os nomes dos arquivos e o<br>
&gt;&gt;&gt; gozado é que é que ela lista todos os arquivos que foram<br>
&gt;&gt;&gt; encriptados, mas mesmo assim dá um erro quando rodo o<br>
&gt;&gt;&gt; programa<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  }<br>
&gt;&gt;&gt; }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; O que está errado no meu programa?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Abraço,<br>
&gt;&gt;&gt; Flávio<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; SaoPaulo-pm mailing list<br>
&gt;&gt;&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt;&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; SaoPaulo-pm mailing list<br>
&gt;&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Alexei Znamensky [russoz_gmail_com] [<a href="http://russoz.wordpress.com" target="_blank">russoz.wordpress.com</a>]<br>
&gt; [<a href="http://www.flickr.com/photos/alexeiz" target="_blank">www.flickr.com/photos/alexeiz</a>]<br>
&gt; &quot;Though we live in trying times, we&#39;re the ones who have to try&quot;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; SaoPaulo-pm mailing list<br>
&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; SaoPaulo-pm mailing list<br>
&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;<br>
<br>
<br>
<br>
</div></div><font color="#888888">--<br>
Giuliani Sanches<br>
<a href="http://twitter.com/giulianisanches" target="_blank">twitter.com/giulianisanches</a><br>
<a href="http://giulianisanches.blogspot.com" target="_blank">giulianisanches.blogspot.com</a><br>
<br>
Como elaborar uma pergunta:<br>
<a href="http://www.istf.com.br/perguntas/" target="_blank">http://www.istf.com.br/perguntas/</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a></div></div></blockquote></div><br><br clear="all"><br>-- <br>Alexei Znamensky [russoz_gmail_com] [<a href="http://russoz.wordpress.com">russoz.wordpress.com</a>] [<a href="http://www.flickr.com/photos/alexeiz">www.flickr.com/photos/alexeiz</a>]<br>

&quot;Though we live in trying times, we&#39;re the ones who have to try&quot;<br>