IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

parcourir une arborescence de dossiers


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Points : 14
    Points
    14
    Par défaut parcourir une arborescence de dossiers
    Bonjour,

    Je souhaite parcourir une arborescence de dossier,
    alors je sais qu'avec opendir et readdir c'est simple,
    mais le problème c'est que je ne sais pas combien il y aura de dossier dans chaque dossier...

    Ducoup j'ai fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    use Modern::Perl;
    use Cwd;
    my $dir = getcwd;
     
    opendir (REP, $dir) or die("Impossible d'ouvrir le repertoir $dir\n$!");
    while (my $ligne = readdir REP){
    	if ($ligne =~ /\w\.xem/i){
    		print "$ligne"."Ceci est un fichier xem\n";
    	}
    	elsif ($ligne =~ /\w\.\w/){
    		print "$ligne"." Mauvais format de fichier.\n";
    	}
    	else{
    		opendir (REP1, $ligne) or die("Impossible d'ouvrir le repertoir $ligne\n$!"
    		while (my $ligne1 = readdir REP1){
    			if ($ligne1 =~ /\w\.xem/i){
    				print "$ligne1"."Ceci est un fichier xem\n";
    			}
    			elsif ($ligne1 =~ /\w\.\w/){
    				print "$ligne1"." Mauvais format de fichier.\n";
    			}
    			else{
    				opendir (REP2, $ligne1) or die("Impossible d'ouvrir le repertoir $ligne2\n$!"
    				while (my $ligne2 = readdir REP2){
    					if ($ligne2 =~ /\w\.xem/i){
    						print "$ligne2"."Ceci est un fichier xem\n";
    					}
    					elsif ($ligne2 =~ /\w\.\w/){
    						print "$ligne2"." Mauvais format de fichier.\n";
    					}
    					else{
    						opendir (REP3, $ligne2) or die("Impossible d'ouvrir le repertoir $ligne2\n$!"
    					}
    				}
    			}
    		}
    	}
    }
    C'est pour l'instant un test, à la place de "Ceci est un fichier xem" il y aura du code qui modifiera la fichier"
    Mais du-coup avec ce code déjà c'est moche, et en plus si il y a plus de "trois niveau" de dossier ça marche pas,
    Y'a t'il une manière propre de faire ça? ou alors je vais vraiment devoir faire un copié collé 50 fois histoire d’être sur qu'il passe dans tous les dossier?

    Merci d'avance!

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Regarde du coté du module File::Find.
    Sinon, il reste la programmation récursive qui règle généralement le problème.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Alors je me suis penché sur File::Find... et j'ai rien comprit
    Du coup j'ai fait une fonction récursive.

    Voici mon code entier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    use Modern::Perl;
    use Data::Dumper;
    use Cwd;
    use Cwd qw/ abs_path /;
     
     
     
    my $dir1 = getcwd();
    my $fichierAComparer;
    opendir (REP, $dir1) or die("Impossible d'ouvrir le repertoir $dir1\n$!");
     
    while (my $ligne = readdir REP){
    	funcopendir($ligne);
    }
     
    sub funcopendir{
    	my ($dir) = @_;
    	while (my $ligne = readdir REP){
    		print $ligne;
    		<>;
    		if ($ligne =~ /[a-zA-Z0-9_]\.xem/i){
    			my $abs_path = abs_path($ligne);
    			my $FichierDepart = "$abs_path";
    			$abs_path =~ s/in/out/;
    			my $FichierModifie = "$abs_path";
    			open( my $FhDepart, '<', $FichierDepart ) or die("Impossible d'ouvrir le fichier $ligne\n$!");
    			open( my $FhModifie, '>', $FichierModifie ) or die("Impossible d'ouvrir le fichier $FichierModifie\n$!");
    			while (my $ligne2 = <$FhDepart>){
    				if($ligne2 =~ /VBCode/i){
    					$fichierAComparer = enleverPartieQuotable($ligne2,"Inherits","Auto-Generated","Protected Sub CleanupUserCode","Sub");
    					$ligne2 = substitution($ligne2, "Inherits", "Auto-Generated", "Friend", sub {"\' Friend"});
    					$ligne2 = substitution($ligne2, "Protected Sub CleanupUserCode", "Sub", qr/((\w+\s*=))/, sub {"' $1"});
    					print $FhModifie $ligne2;
    				}
    				else{
    					print $FhModifie $ligne2;
    				}
    			}
    			close ($FhModifie);
    			close ($FhDepart);
    			print "Copie de $ligne succes";
    		}
    		elsif ($ligne =~ /\w\.\w/){
    			print "$ligne"." Mauvais format de fichier.\n";
    		}
    		else{
    			my $abs_path1 = abs_path($ligne);
    			opendir (REP1, $abs_path1) or die ("Impossible d'ouvrir le repertoir $ligne\n$!");
    			while (my $ligne3 = readdir REP1){
    				funcopendir($ligne3);
    			}
    		}	
    	}
    }
     
    #Fonction qui permet de remplacer tel valeur à tel endroit.
    sub substitution {
    	my ($ligneAModifier, $limite1 ,$limite2 , $motARemplacer, $motDeRemplacement) = @_;
    	my ( $val1, $val2) = split(/$limite1/i, $ligneAModifier , 2);
    	my ( $val3, $val4) = split(/$limite2/i, $val2, 2);
    	recuperation($val3);
    	my @tabval3 = split((/&#xA;/), $val3);
    	foreach my $item (@tabval3){
    		if (my ($first_match) = $item =~ /([a-zA-Z_]+[0-9]+)+/g){
    			if ($fichierAComparer =~ /$first_match/){
    			}
    			else{
    				$item =~ s/$motARemplacer/$motDeRemplacement->()/ge;
    			}
    		}
    		else{
    		}
    	}
    	$val3 = join(("&#xA;"), @tabval3);
    	return $val1."$limite1".$val3."$limite2".$val4;
    }
     
    #Permet de creer une variable avec la copie du fichier sans les zone sur lequelle on va travailler.
    sub enleverPartieQuotable{
    	my ($text, $limite11, $limite22, $limite33, $limite44) = @_;
    	my ($val1, $val2) = split(/$limite11/i, $text, 2);
    	my ($val3, $val4) = split(/$limite22/i, $val2, 2);
    	my ($val5, $val6) = split(/$limite33/i, $val4, 2);
    	my ($val7, $val8) = split(/$limite44/i, $val6, 2);
    	$text = "$val1$val5$val8";
    	return $text;
    }
     
    <>;
    Et donc voici ma fonction recursive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    sub funcopendir{
    	my ($dir) = @_;
    	while (my $ligne = readdir REP){
    		print $ligne;
    		<>;
    		if ($ligne =~ /[a-zA-Z0-9_]\.xem/i){
    			my $abs_path = abs_path($ligne);
    			my $FichierDepart = "$abs_path";
    			$abs_path =~ s/in/out/;
    			my $FichierModifie = "$abs_path";
    			open( my $FhDepart, '<', $FichierDepart ) or die("Impossible d'ouvrir le fichier $ligne\n$!");
    			open( my $FhModifie, '>', $FichierModifie ) or die("Impossible d'ouvrir le fichier $FichierModifie\n$!");
    			while (my $ligne2 = <$FhDepart>){
    				if($ligne2 =~ /VBCode/i){
    					$fichierAComparer = enleverPartieQuotable($ligne2,"Inherits","Auto-Generated","Protected Sub CleanupUserCode","Sub");
    					$ligne2 = substitution($ligne2, "Inherits", "Auto-Generated", "Friend", sub {"\' Friend"});
    					$ligne2 = substitution($ligne2, "Protected Sub CleanupUserCode", "Sub", qr/((\w+\s*=))/, sub {"' $1"});
    					print $FhModifie $ligne2;
    				}
    				else{
    					print $FhModifie $ligne2;
    				}
    			}
    			close ($FhModifie);
    			close ($FhDepart);
    			print "Copie de $ligne succes";
    		}
    		elsif ($ligne =~ /\w\.\w/){
    			print "$ligne"." Mauvais format de fichier.\n";
    		}
    		else{
    			my $abs_path1 = abs_path($ligne);
    			opendir (REP1, $abs_path1) or die ("Impossible d'ouvrir le repertoir $ligne\n$!");
    			while (my $ligne3 = readdir REP1){
    				funcopendir($ligne3);
    			}
    		}	
    	}
    }
    Mais quand il passe sur un dossier il ne fait rien

    Par contre les fichier au mauvais format il affiche bien les message d'erreur et les xem il les modifient

    Je ne comprends pas l'erreur?

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Un point, qui n'est sans doute pas là où se situe ton problème : lors de l'appel récursif, j'ajouterai en test que le nom est un dossier. Donc à la place du "else", je mettrais "elsif (-d abs_path($ligne))" ...

    Mais en fait, ta récursion n'est pas bonne du tout, puisque tu utilises des "file handle" de type TYPE_GLOB, qui sont globaux, et non locaux.

    A mon sens, une bonne façon d'écrire ta récursion est ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    sub parcourir_dossier {
      my ($nom, $a_faire) = @_;
     
      if (-d $nom) {
        opendir my $DIR, $nom or die "Impossible d'ouvrir $nom: $!";
        while (readdir $DIR) {
          parcourir_dossier($_, $a_faire);
        }
        closedir $DIR;
      }
      else {
        $a_faire->($nom);
      }
    }
    Et de définir la fonction de rappel ($a_faire) comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    my $traiter_fichier = sub {
      my ($nom) = @_;
      if ($ligne =~ /[a-zA-Z0-9_]\.xem/i){
    #...
      }
      elsif ($ligne =~ /\w\.\w/){
        print "$ligne"." Mauvais format de fichier.\n";
      }
    };
    Au final, tu appelles ta fonction récursive ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parcourir_dossier(getcwd(), $traiter_fichier);
    Attention, je n'ai pas testé le code, ni même la syntaxe. Il y a peut-être un peu de mise au point à prévoir.
    Il faut prendre les idées, pas forcément directement le code (qui d'ailleurs, n'est pas complet).
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Je doit bien admettre que tu m'as perdu là.

    Je ne comprends pas trop quoi va où ou quoi remplace quoi :/

  6. #6
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Dans ce tutoriel, je donne un exemple de parcours récursif de répertoires: Parcours récursif de répertoire. Tu auras au moins un exemple d'où t'inspirer, même en l'occurrence tu peux oublier ce que je raconte sur les fonctions de rappel et les ré&férences à des fonctions.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Ah oui merci beaucoup, j'ai comprit le code de Philou maintenant

    Je prévient des que j'ai avancé ou reussit.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup pour votre aide, ça fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    parcours_dir1(getcwd());
    sub parcours_dir1 {
        my ($path) = @_;
        my @dir_entries = glob("$path/*");
        foreach my $entry (@dir_entries) {
    		if (-d $entry){
    			if ($entry =~ /out/){
    			}
    			else{
    				my $abs_path = abs_path($entry);
    				$abs_path =~ s/in/out/;
    				if (-d $abs_path){
    				}
    				else{
    				mkdir ($abs_path) or die;
    				}
    				parcours_dir1($entry) ;
    			}
    		}
        }
    }
     
    my $fichierAComparer;
    my $traiter_fichier = sub {
    	my ($nom) = @_;
    	if ($nom =~ /[a-zA-Z0-9_]\.xem/i){
    		my $abs_path = abs_path($nom);
    		my $FichierDepart = "$abs_path";
    		$abs_path =~ s/in/out/;
    		my $FichierModifie = "$abs_path";
    		print "\n Copie de $FichierDepart dans $FichierModifie";
    		open( my $FhDepart, '<', $FichierDepart ) or die("Impossible d'ouvrir le fichier $nom\n$!");
    		open( my $FhModifie, '>', $FichierModifie ) or die("Impossible d'ouvrir le fichier $FichierModifie\n$!");
    		while (my $ligne2 = <$FhDepart>){
    			if($ligne2 =~ /VBCode/i){
    				$fichierAComparer = enleverPartieQuotable($ligne2,"Inherits","Auto-Generated","Protected Sub CleanupUserCode","Sub");
    				$ligne2 = substitution($ligne2, "Inherits", "Auto-Generated", "Friend", sub {"\' Friend"});
    				$ligne2 = substitution($ligne2, "Protected Sub CleanupUserCode", "Sub", qr/((\w+\s*=))/, sub {"' $1"});
    				print $FhModifie $ligne2;
    			}
    			else{
    				print $FhModifie $ligne2;
    			}
    		}
    		close ($FhModifie);
    		close ($FhDepart);
    		print "\nCopie de $nom succes\n\n\n";
    	}
    	elsif ($nom =~ /\w\.\w/){
    		print "$nom"." Mauvais format de fichier.\n";
    	}
    };
    parcours_dir(getcwd() , $traiter_fichier);
    sub parcours_dir {
        my ($path, $a_faire) = @_;
        my @dir_entries = glob("$path/*");
        foreach my $entry (@dir_entries) {
    		if ($entry =~ /out/){
    		}
    		else{
    			parcours_dir($entry, $a_faire) if -d $entry;
    			$a_faire->($entry) if -f $entry;
    		}
        }
    }
    Il y a deux fonction récursive pour parcourir toute l'arborescence,
    la première sert simplement a recréer l'arborescence de in dans out,
    comme ça je parcours bien tous les fichiers de l'arborescence de in,
    je les trifouille comme il faut,
    et je les copie au "même" endroit dans out,
    ce qui me donne la même arborescence mais avec des fichier modifier.

    C'est bien d'être débutant on est content pour un rien

    Bon bah merci à vous deux, bonne soirée!

  9. #9
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Juste un petit conseil supplémentaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    			if ($entry =~ /out/){
    			}
    			else{
    				my $abs_path = abs_path($entry);
    				# etc.
    Mettre un bloc vide comme ça, c'est vraiment très laid et pas du tout dans l'esprit de concision de Perl. Il y a pas mal de solution alternatives.

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    			if ($entry !~ /out/) {
    				my $abs_path = abs_path($entry);
    				# etc.
    Ou bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    			if (not ($entry =~ /out/)) {
    				my $abs_path = abs_path($entry);
    				# etc.
    Ou encore:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    			unless ($entry =~ /out/) {
    				my $abs_path = abs_path($entry);
    				# etc.

    Tu as la même construction avec un bloc vide un peu plus loin:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    				if (-d $abs_path){
    				}
    				else{
    				mkdir ($abs_path) or die;
    Tu peux remplacer par un seule ligne de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    				mkdir ($abs_path) or die unless -d $abs_path;
    Je te laisse trouver toi-même une alternative au troisième cas de bloc vide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    			if ($fichierAComparer =~ /$first_match/){
    			}
    			else{
    				$item =~ s/$motARemplacer/$motDeRemplacement->()/ge;
    			}

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Effectivement je n'ai pas trop fait attention à ça dans mon code

    Ducoup pour le dernier bloc j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($fichierAComparer !~ /$first_match/){
    	$item =~ s/$motARemplacer/$motDeRemplacement->()/ge;
    }
    J'ai aussi effectué les autres changement,
    et tout roule

    Merci.

  11. #11
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Oui, c'est nettement mieux comme ça.

    Autre solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	$item =~ s/$motARemplacer/$motDeRemplacement->()/ge if $fichierAComparer !~ /$first_match/;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. parcourir une arborescance de dossier
    Par cyberneo dans le forum VBScript
    Réponses: 2
    Dernier message: 26/10/2009, 17h58
  2. Création d'une arborescence de dossiers
    Par guidzit dans le forum Access
    Réponses: 4
    Dernier message: 25/09/2006, 09h14
  3. Réponses: 3
    Dernier message: 28/03/2006, 10h52
  4. Récursivité dans une arborescence de dossiers...
    Par thony23 dans le forum Langage
    Réponses: 5
    Dernier message: 26/10/2005, 16h14
  5. [VB6] parcourir une arborescence de repertoire
    Par pecheur dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/04/2003, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo