Nom de variable composé [PERL] - Perl - Programmation
Marsh Posté le 19-12-2011 à 23:21:51
Pour autant que je sache, non.
print eval "\$${test1}${test2}"; marche, mais ce n'est pas vraiment une variable composée.
A+,
Marsh Posté le 20-12-2011 à 11:28:50
Hmmm.. c'est problématique.
En fait, j'ai une fonction qui s'appelle elle même. (CF ci-dessous)
Et j'aurai besoin de créer une variable qui a un nom différent a chaque fois.
C'est la variable "$pm2" qui doit changer de nom a chaque fois.
Auriez vous une idée pour arriver à faire ça sans utiliser de nom de variable composé?
Code :
|
Merci,
Cordialement,
Benjamin
Marsh Posté le 20-12-2011 à 12:12:13
Je pense avoir réussi en faisant ainsi:
no strict 'refs';
my $ID_inLaunch = #ce que me donne la fonction en entrée
my $varname = "pm$ID_inLaunch";
$$varname = new Parallel::ForkManager(10);
Et donc, je l'utilise comme ceci:
$$varname->start and next; # je lance un fork
launch_process($row_fils_inLaunch);
$$varname->finish;
Merci Gilou !
Marsh Posté le 20-12-2011 à 12:36:46
La solution Perl habituelle, ce serait de faire un hash et d'associer a la clé de valeur $ID_inLaunch la valeur de new Parallel::ForkManager(10);
A+,
Marsh Posté le 19-12-2011 à 16:03:11
Bonjour,
Je suis en train de faire un test pour utiliser des noms de variables composé (comme en PHP par exemple).
Pour tester, j'ai fais ce petit test.
Je suis surpris de voir que malgré l'utilisation du "no strict 'vars'", a part les deux premiers exemples, aucun ne fonctionne.
L'utilisation de variables composées est elle possible en perl?
Message édité par Super_carotte le 19-12-2011 à 16:53:08