Rechercher : dans
Par :

[PERL] problème substitution variables

Dernière réponse le 6 fév 2009 à 16:13:54 julie, le 6 fév 2009 à 14:40:00 
 Signaler ce message aux modérateurs

Bonjour,

Je cherche à faire une substitution toute bête en perl mais je n'y arrive pas. Voilà le style de substitution que je souhaite faire :

$mavar = "un texte quleconque";
$var1 = "texte";
$var2 = "nouveau texte";

$mavar = s/$var1/$var2/;

j'obitens toujours $mavar = "un texte quleconque" au lieu de "un nouveau texte quleconque".

le problème est que les $var1 et $var2 ne sont pas interprétés, j'ai bien essayé en encapsulant avec eval() ou de protéger le $ pour qu'il ne soit pas interprété comme caractère de fin de ligne mais rien n'y fait, malgré différentes recherches, je ne trouve pas comment faire.
Auriez vous une idée sur la question ?
D'avance merci.

Meilleures réponses pour « [PERL] problème substitution variables » dans :
Les variables avec Perl Voir Concept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...
Sed - Introduction à SED - Part II VoirSED - The Stream EDitor - Part II Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
Variables d'environnement VoirVariables d'environnement Une variable d'environnement est une valeur dynamique, chargée en mémoire, pouvant être utilisée par plusieurs processus fonctionnant simultanément. Sur la plupart des systèmes d'exploitation, les emplacement de...
Perl - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Perl - Les fonctions VoirLa notion de fonction et de procédure On appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la procédure dans le corps du programme principal. Les procédure permettent d'exécuter dans plusieurs...

1

julie, le 6 fév 2009 à 15:25:49

Petite précision, j'ai fait une erreur en recopiant mon code, il s'agit de $mavar =~ s/$var1/$var2/;
j'avais oublié le ~

Répondre à julie

2

lami20j, le 6 fév 2009 à 15:28:51

Salut,

Ca ne marche toujours pas?! 106485010510997108

Répondre à lami20j

3

 julie, le 6 fév 2009 à 16:13:54

J'ai trouvé d'où venait le problème. Mes variables $var1 et $var2 contenait des retours chariots, le motif n'était donc jamais trouvé...
Je me doutais bien que c'était tout bête !

Répondre à julie