#/usr/bin/perl <du fichierdu filtrage DOC #----------------------------------------------------------- $ARGV[0]="2006"; 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"}; #---------------------------------------- #récupérer la date du jour sous forme de jj/mm/annee my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); my $date_du_jour = $mday."/".($mon+1)."/".(1900+$year); #-------------------------------------- &parcoursarborescencefichiers($rep); #recurse! #---------------------------------------- print FILEOUT "\n"; print FILEOUT "\n"; print FILEOUT "\n"; print FILEOUT " Nacer(Massinissa) HAMRI \n"; print FILEOUT " ".$date_du_jour." \n"; print FILEOUT "".$DUMPFULL1."\n"; print FILEOUT "\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) { if (($file=~/AFP-stories\.xml/) || ($file=~/0,2-.*\.xml/)) { # TRAITEMENT à réaliser sur chaque fichier open(FILEINPUT,"$file"); $fichier = ""; $nom = "$file"; $fichier .= "".$nom.""; $contenu = ""; while ($ligne = ){ if ($ligne=~/(.*)<\/description>/) { #$ligne =~ s// /g; #$ligne =~ s/<\/description>/ /g; $l=$ligne; #************************ $ligne = $1; $ligne=~ s/&#39;/\'/g; # &#39; = apostrophe#39; $ligne=~ s/&#34;/"/g; # &#34; = guillemets ouvrants ou fermants. $ligne=~ s/é/é/g; # é = é $ligne=~ s/é/é/g; $ligne=~ s/ê/ê/g; # ê = ê= accent circonflexe $ligne=~ s/ê/ê/g; #ê ê= accent circonflexe $ligne=~ s/è/è/g; $ligne=~ s/Ã/à/g; $ligne=~ s/ç/ç/g; $ligne=~ s/à§/ç/g; $ligne=~ s/ô/ô/g; $ligne=~ s/"//g; $contenu .="".$ligne."\n"; # print $ligne; } } close(FILEINPUT) ; $fichier .= $contenu; $fichier .= "\n"; print $fichier; $DUMPFULL1 .= $fichier; # Insérer ici votre code (le filtreur) print $i++,"\n"; } } } } #-----