Bonjour à tous,
Je débarque ici pour une question assez pointue.
Dans un programme multithread, j'aurais besoin de créer plusieurs queues partagées, dont le nom est obtenu par une liste.
Le problème est qu'apparement, une queue est ne peut pas être un élément d'un tableau de hachage :
use strict;
use threads;
use Thread::Queue;
my %queue;
my $nom = "toto";
$queue{$nom} = new Thread::Queue; => syntax error
J'ai bien la solution de passer par un eval :
eval('our $'.$nom.' = new Thread::Queue');
Ce qui crée la queue $toto
Mais ce n'est pas propre et refusé par le strict...
Si quelqu'un a une solution, je suis preneur...
Merci d'avance.
Partager