#/usr/bin/perl
my $rep="$ARGV[0]";
# on s'assure que le nom du répertoire ne se termine pas par un "/" si ça se termine par / on remplace par rien
$rep=~ s/[\/]$//;
# on initialise une variable contenant le flux de sortie

#----------------------------------------
&parcoursarborescencefichiers($rep);    # on appelle le sous programme
#----------------------------------------
sub parcoursarborescencefichiers { # on entre dans le sous programme
    my $path = shift(@_); # on met dans la variable $path le contenu de la variable mise en argument
    opendir(DIR, $path) or die "can't open $path: $!\n"; # opendir : ouvre un rep - si on arrive pas : le pgm s'arrete et on envoie un message d'erreur
    my @files = readdir(DIR); # on lit le contenu du répertoire et on renvoie une liste qu'on stocke dans @files
    closedir(DIR);
    foreach my $file (@files) { # pour chaque ressource dans @files,on crèe $files
	next if $file =~ /^\.\.?$/; # on passe au suivant si on trouve . ou .. car on risque une boicle infinie
	#-------------------------------
	# nouveau nom du fichier à créer (éventuellement)
	my $newfile="v2_".$file;
	$newfile=$path."/".$newfile;
	#-------------------------------
	$file = $path."/".$file; # on réécrit tout le chemin du fichier - le point permet la concaténation
	if (-d $file) { # on entre dans cette boucle si il y a dans $file un répertoire (-d vérifie que l'argument est un répertoire)
	    &parcoursarborescencefichiers($file);    #recurse!
	}
	if (-f $file) { # on entre dans cette boucle si il y a dans $file un fichier  (-f vérifie que l'argument est un fichier)
	    print "On  teste $file \n";
	    if ($file=~/\.xml$/){
		next if ($file=~/fil.*/);
		open(FILEIN,$file); # on ouvre le fichier qu'on va lire
		open(NEWFILEIN,">$newfile"); # on ouvre le fichier qu'on va ecrire
		print "$file\n"; #  on voit si ça travaille
		my @contenu = <FILEIN>;
         	close(FILEIN);    
		
		my $DUMPFULL1="";
		foreach my $ligne (@contenu) {
		    $ligne=~s/<\?xml-stylesheet.*\?>//g;
		    $DUMPFULL1.="$ligne";
		}
		print NEWFILEIN "$DUMPFULL1";
		close (FILEIN);
		close (NEWFILEIN);
		
		#------------------------------------------------------------------
		# il faut suppimer l'ancien fichier et mettre le nouveau a la place
		unlink $file; # on supprime le vieux fichier
		rename($newfile,$file); # on renomme le nouveau avec l'ancien nom
		#------------------------------------------------------------------
	    }
	}
    } 
}

	
	
	
 
