Pour Françoise
#/usr/bin/perl
my $rep=”$ARGV[0]“;
$rep=~ s/[\/]$//;
my $DUMPFULL1=”";
my %tableaudestextes=(); #—————————————-
my $output1=”test1.xml”;
if (!open (FILEOUT,”>$output1″)) { die “Pb a l’ouverture du fichier $output1″};
&parcoursarborescencefichiers($rep);
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);
}
if (-f $file) {
if ($file=~/\.xml/){
open(FILEIN,$file);
printf “$file\n”;
while ($ligne = <FILEIN>){
if ($ligne=~/<description>([^<]+)<\/description>/){
my $propre=$1;
if (exists($tableaudestextes{$propre})) {
$tableaudestextes{$propre}++;
}
else {
$DUMPFULL1.=”$propre\n”;
$tableaudestextes{$propre}++;
}
}
}
}
close(FILEIN);
}
}
}
print FILEOUT “<?xml version=\”1.0\” encoding=\”iso-8859-1\” ?>\n”;
print FILEOUT “<PARCOURS>\n”;
print FILEOUT “<NOM> </NOM>\n”;
print FILEOUT “<FILTRAGE>”.$DUMPFULL1.”</FILTRAGE>\n”;
print FILEOUT “</PARCOURS>\n”;
close(FILEOUT);
exit;



Merci Nassim, mais j’ai résolu le problème d’une autre façon Cf en bas.
Françoise Del Socorro