#/usr/bin/perl <<DOC; Votre Nom : JANVIER 2005 usage : perl parcours-arborescence-fichiers repertoire-a-parcourir Le programme prend en entrée le nom du répertoire contenant les fichiers à traiter Le programme construit en sortie un fichier structuré contenant sur chaque ligne le nom du fichier et le résultat du filtrage : <FICHIER><NOM>du fichier</NOM></FICHIER><CONTENU>du filtrage</CONTENU></FICHIER> DOC #----------------------------------------------------------- my $rep="$ARGV[0]"; # on s'assure que le nom du répertoire ne se termine pas par un "/" $rep=~ s/[\/]$//; # on initialise une variable contenant le flux de sortie my $DUMPFULL1=""; #---------------------------------------- my $output1="SORTIE.xml"; if (!open (FILEOUT,">$output1")) { die "Pb a l'ouverture du fichier $output1"}; #---------------------------------------- &parcoursarborescencefichiers($rep); #recurse! #---------------------------------------- print FILEOUT "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n"; print FILEOUT "<PARCOURS>\n"; print FILEOUT "<NOM>Votre nom</NOM>\n"; print FILEOUT "<FILTRAGE>".$DUMPFULL1."</FILTRAGE>\n"; print FILEOUT "</PARCOURS>\n"; close(FILEOUT); exit; #---------------------------------------------- sub parcoursarborescencefichiers { my $path = shift(@_); opendir(DIR, $path) or die "can't open $path: $!\n"; my @files = readdir(DIR); closedir(DIR); foreach my $file (@files) { next if $file =~ /^\.\.?$/; $file = $path."/".$file; if (-d $file) { &parcoursarborescencefichiers($file); #recurse! } if (-f $file) { # TRAITEMENT à réaliser sur chaque fichier # Insérer ici votre code (le filtreur) print $i++,"\n"; } } } #----------------------------------------------