[Cascavel-pm] Re: Comparacao de diretorios e manipulacao de

Leandro Costa lscosta em uninet.com.br
Sábado Fevereiro 28 08:30:03 CST 2004


Muito obrigado Graciliano,

Mais onde configuraco o programa com meus diretorios :)))

grato
Leandro
----- Original Message ----- 
From: "Graciliano M. P." <gmpowers em terra.com.br>
To: <cascavel-pm em mail.pm.org>
Sent: Friday, February 27, 2004 8:35 PM
Subject: [Cascavel-pm] Re: Comparacao de diretorios e manipulacao de


> Bom, cá está uma solução pure Perl.
>
> GMP
>
> #!/usr/bin/perl
>
>   my @files = catdir('/foo/somedir' , 0 , 1 , 1) ;
>
>   foreach my $files_i ( @files ) {
>     if ( $files_i =~ /(.*?)\.t2t$/) {
>       my $file_html = "$1.html" ;
>
>       my $t2t_time = (stats($files_i))[9] ;
>       my $html_time = (stats($file_html))[9] ;
>
>       if (!-e $file_html || $t2t_time > $html_time) {
>         print "$files_i\n" ;
>         call("txt2tags -t html $files_i") ;
>       }
>     }
>   }
>
> ########
> # CALL #
> ########
>
> sub call {
>   my ( $cmd ) = @_ ;
>
>   open (my $ipc,"| $cmd") ;
>   my $log_read = join("", <$ipc>) ;
>   close ($ipc) ;
>
>   $log_read =~ s/\r\n?/\n/gs ;
>
>   return($log_read) ;
> }
>
> ##########
> # CATDIR # (DIR , CUT_BASE , RECURSIVE , ONLY_FILES)
> ##########
>
> sub catdir {
>   my ( $dir , $cut , $r , $f ) = @_ ;
>
>   my @files ;
>
>   my @DIR = $dir ;
>   foreach my $DIR ( @DIR ) {
>     my $DH ;
>     opendir ($DH, $DIR);
>
>     while (my $filename = readdir $DH) {
>       if ($filename ne "\." && $filename ne "\.\.") {
>         my $file = "$DIR/$filename" ;
>         if ($r && -d $file) { push(@DIR , $file) ;}
>         else {
>           if (!$f || !-d $file) {
>             $file =~ s/^\Q$dir\E\/?//s if $cut ;
>             push(@files , $file) ;
>           }
>         }
>       }
>     }
>
>     closedir ($DH) ;
>   }
>
>   return( @files ) ;
> }
>
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em mail.pm.org
> http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>
>





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