#I try to put in queue my record use threads; use Thread::Queue; use Data::Dumper; my $queue = new Thread::Queue; $msg{'1'} = "Hello \n"; $msg{'2'}= "Word \n"; $queue->enqueue(\%msg); $r = $queue->dequeue_nb; print "r = $r\n"; print "1 : ".$r->{'1'}; print "2: ".$r->{'2'}; #### #test for sharing queue between threads use threads; use Thread::Queue; use Data::Dumper; use Thread; my $queue = new Thread::Queue; sub th1 { while(1) { $queue->enqueue("msg from th1"); print "th1: ADDED ".$queue->pending."\n"; sleep 2; } } sub th2 { while(1) { print "th2: REMOVED ".$queue->pending."\n"; $queue->dequeue_nb; sleep 2; } } $th1 = new Thread(\&th1); $th2 = new Thread(\&th2); $th1->join; $th2->join;