[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