Voilà mon petit problème : je cherche à substituer dans un hash (issu d'un fichier xml) des variables. Concrètement :
j'ai des valeurs dans mon hash :
Et je veux substituer $num_carteet $num_accesavec les valeurs présentes dans le hash.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 my $hash = { 'num_carte' => 4, 'num_acces' => 1, .... 'interface' => '$num_carte/$num_acces' }
ça fonctionne très bien dans le cas d'une variable seule, par exemple :
qui devient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 my $hash = { 'num_carte' => 4, 'num_acces' => 1, .... 'interface' => '$num_carte' }
Mais avec mon premier exemple, ça ne fonctionne pas bien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 my $hash = { 'num_carte' => 4, 'num_acces' => 1, .... 'interface' => 4 }
Avec la regexpJ'ai le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $structure->{$cle} =~ s/\$(\S+?)[^\S]?/$valeurs->{$1}/g;Et avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 my $hash = { 'num_carte' => 4, 'num_acces' => 1, .... 'interface' => 'um_carte/um_acces' }J'ai évidemment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $structure->{$cle} =~ s/\$(\S+?)\//$valeurs->{$1}/g;
Quelqu'un pour m'aider sur la regexp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 my $hash = { 'num_carte' => 4, 'num_acces' => 1, .... 'interface' => '4/$num_acces' }
Partager