<br><br><div><span class="gmail_quote">Em 18/02/08, <b class="gmail_sendername">Adriano Ferreira</b> &lt;<a href="mailto:a.r.ferreira@gmail.com">a.r.ferreira@gmail.com</a>&gt; escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2008/2/18 Patty Silva &lt;<a href="mailto:ptfzs@yahoo.com.br">ptfzs@yahoo.com.br</a>&gt;:<br> &gt;<br> <br>&gt; Ok.. Obrigada pela dica:<br> &gt; .<br> &gt; .<br> &gt; .<br> &gt; .<br> &gt;&nbsp;&nbsp;my @files = grep -M &gt; 2, readdir $dh;<br>
 &gt;<br> &gt;<br> &gt; closedir $dh;<br> &gt;<br> &gt;<br> &gt; for my $file ( @files ) {<br> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br> <br> <br>Bonito código! Duas observações:<br> <br> * por estilo, talvez seja preferível marcar o bloco do &#39;grep&#39;<br>
 explicitamente - o que facilita a manutenção e evolução por outras<br> pessoas (e inclusive por você daqui a uns tempos)<br> <br>&nbsp;&nbsp;&nbsp;&nbsp; grep { -M &lt; 2 } ...<br> <br> * Você pode-se livrar do opendir/readir/closedir através de um glob<br>
 <br>&nbsp;&nbsp;my $glob = &#39;dir/*&#39;<br>&nbsp;&nbsp;my @files = grep { -M &gt; 2 } glob( $glob );</blockquote><div><br><span style="font-family: courier new,monospace;">Só um detalhe, o glob é lento em relação ao opendir/readdir. No Benchmark resultou em uma diferença considerável, veja o código e o resultado.<br>
<br>&lt;codigo&gt;<br>#!/usr/bin/perl<br>use strict;<br>use Benchmark;<br><br>Benchmark::cmpthese ( -1, {<br>&nbsp;&nbsp;&nbsp; &#39;Opendir&#39; =&gt; &#39;opendir my $dh, &quot;.&quot;; my @f = readdir($dh)&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;Glob&#39;&nbsp;&nbsp;&nbsp; =&gt; &#39;my @f = glob(&quot;*&quot;)&#39;,<br>
&nbsp;&nbsp;&nbsp; }<br>);<br>&lt;/codigo&gt;<br><br>&lt;resultado&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rate&nbsp;&nbsp;&nbsp; Glob Opendir<br>Glob&nbsp;&nbsp;&nbsp; 2074/s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&nbsp;&nbsp;&nbsp; -35%<br>Opendir 3195/s&nbsp;&nbsp;&nbsp;&nbsp; 54%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --<br></span><span style="font-family: courier new,monospace;">&lt;/resultado&gt;</span><br style="font-family: courier new,monospace;">
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> # tudo aqui continua como antes<br>&nbsp;&nbsp;for my $file ( @files ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br> <br> Com a vantagem de que este código é mais geral porque o $glob pode<br> incluir vários diretórios e trabalhar diferentes &#39;patterns&#39; como:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $glob = &#39;{dir1,dir2}/*&#39;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $glob = &#39;dir/*/*.txt&#39;;<br>
 <br> e coisas assim.<br> <br> Atenção que o &quot; glob( $glob ) &quot; pode ser substituído pelo operator &quot;<br> &lt;$glob&gt; &quot; mas não é recomendável pela mesma razão do bloco do grep sem<br> as chaves: reduz a ambigüidade (confusão com o operador &quot;readline&quot;:<br>
 &lt;$fh&gt;) e melhora a legibilidade.<br> <br> Parabéns.<br> <br><br> &gt;<br> &gt; ----- Mensagem original ----<br> &gt; De: Adriano Ferreira &lt;<a href="mailto:a.r.ferreira@gmail.com">a.r.ferreira@gmail.com</a>&gt;<br>
 &gt; Para: Cascavel Perl Mongers &lt;<a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a>&gt;<br> &gt; Enviadas: Segunda-feira, 18 de Fevereiro de 2008 16:51:24<br> &gt; Assunto: Re: [Cascavel-pm] Listar ultimos arquivos criados<br>
 &gt;<br> &gt;<br> &gt;<br> &gt; 2008/2/18 Patty Silva &lt;<a href="mailto:ptfzs@yahoo.com.br">ptfzs@yahoo.com.br</a>&gt;:<br> &gt; &gt;<br> &gt; &gt; Pessoal, estou usando o modulo use File::stat para retornar informacoes<br>
 &gt; dos<br> &gt; &gt; arquivos..<br> &gt; &gt; porem gostaria de recuperar os arquivos dos ultimos 2 dias??<br> &gt; &gt; o stat me retorna nesse formato:Tue May 24 13:12:58 2005<br> &gt; &gt;<br> &gt; &gt; Alguem poderia me ajudar??<br>
 &gt;<br> &gt; Eu ia dizer:<br> &gt;<br> &gt; &quot;Show us the code&quot;<br> &gt;<br> &gt; Mas antes, pense nas respostas que você recebe da lista, respostas que<br> &gt; abreviam o problema ao mínimo necessário que no caso é &quot;recuperar os<br>
 &gt; arquivos dos ultimos 2 dias&quot;. Portanto faça um esforço para expressar<br> &gt; em Perl pelo menos uma aproximação à solução que você quer e então<br> &gt; envie para a lista. Assim mais gente pode ler (porque o problema já<br>
 &gt; foi reduzido), e pode concentrar nos pontos de melhora, otimização,<br> &gt; estilo, etc. Você aprende em fazer e aprende ao receber as respostas.<br> &gt;<br> &gt; Dica: o operador -M, a função grep<br> &gt;<br> &gt; &gt; Obrigada<br>
 &gt; &gt;<br> &gt; &gt;&nbsp;&nbsp;________________________________<br> &gt; &gt; Abra sua conta no Yahoo! Mail, o único sem limite de espaço para<br> &gt; &gt; armazenamento!<br> &gt; &gt; _______________________________________________<br>
 &gt; &gt; Cascavel-pm mailing list<br> &gt; &gt; <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br> &gt; &gt; <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
 &gt; &gt;<br> &gt; _______________________________________________<br> &gt; Cascavel-pm mailing list<br> &gt; <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br> &gt; <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
 &gt;<br> &gt;<br> &gt;<br> &gt;&nbsp;&nbsp;________________________________<br> &gt; Abra sua conta no Yahoo! Mail, o único sem limite de espaço para<br> &gt; armazenamento!<br> &gt; _______________________________________________<br>
 &gt; Cascavel-pm mailing list<br> &gt; <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br> &gt; <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
 &gt;<br> _______________________________________________<br> Cascavel-pm mailing list<br> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
 </blockquote></div><br><br clear="all"><br>-- <br>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa