[Cascavel-pm] Res: Listar ultimos arquivos criados

Adriano Ferreira a.r.ferreira em gmail.com
Segunda Fevereiro 18 17:42:47 PST 2008


2008/2/18 Patty Silva <ptfzs em yahoo.com.br>:
>
> Ok.. Obrigada pela dica:
> .
> .
> .
> .
>  my @files = grep -M > 2, readdir $dh;
>
>
> closedir $dh;
>
>
> for my $file ( @files ) {
>      ......
>      }

Bonito código! Duas observações:

* por estilo, talvez seja preferível marcar o bloco do 'grep'
explicitamente - o que facilita a manutenção e evolução por outras
pessoas (e inclusive por você daqui a uns tempos)

     grep { -M < 2 } ...

* Você pode-se livrar do opendir/readir/closedir através de um glob

  my $glob = 'dir/*'
  my @files = grep { -M > 2 } glob( $glob );

# tudo aqui continua como antes
 for my $file ( @files ) {
      ......
      }

Com a vantagem de que este código é mais geral porque o $glob pode
incluir vários diretórios e trabalhar diferentes 'patterns' como:
      my $glob = '{dir1,dir2}/*';
      my $glob = 'dir/*/*.txt';

e coisas assim.

Atenção que o " glob( $glob ) " pode ser substituído pelo operator "
<$glob> " mas não é recomendável pela mesma razão do bloco do grep sem
as chaves: reduz a ambigüidade (confusão com o operador "readline":
<$fh>) e melhora a legibilidade.

Parabéns.

>
> ----- Mensagem original ----
> De: Adriano Ferreira <a.r.ferreira em gmail.com>
> Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> Enviadas: Segunda-feira, 18 de Fevereiro de 2008 16:51:24
> Assunto: Re: [Cascavel-pm] Listar ultimos arquivos criados
>
>
>
> 2008/2/18 Patty Silva <ptfzs em yahoo.com.br>:
> >
> > Pessoal, estou usando o modulo use File::stat para retornar informacoes
> dos
> > arquivos..
> > porem gostaria de recuperar os arquivos dos ultimos 2 dias??
> > o stat me retorna nesse formato:Tue May 24 13:12:58 2005
> >
> > Alguem poderia me ajudar??
>
> Eu ia dizer:
>
> "Show us the code"
>
> Mas antes, pense nas respostas que você recebe da lista, respostas que
> abreviam o problema ao mínimo necessário que no caso é "recuperar os
> arquivos dos ultimos 2 dias". Portanto faça um esforço para expressar
> em Perl pelo menos uma aproximação à solução que você quer e então
> envie para a lista. Assim mais gente pode ler (porque o problema já
> foi reduzido), e pode concentrar nos pontos de melhora, otimização,
> estilo, etc. Você aprende em fazer e aprende ao receber as respostas.
>
> Dica: o operador -M, a função grep
>
> > Obrigada
> >
> >  ________________________________
> > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > armazenamento!
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
>
>  ________________________________
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


Mais detalhes sobre a lista de discussão Cascavel-pm