in reply to Threaded Perl: References to subroutines to threads

This is possible, although is uses some dubious quirks of Perl to do it.

use threads;; use Thread::Queue;; ## define a sub that prints out the thread and package it is running u +nder sub test{ print threads->self->tid, __PACKAGE__ . "::test" for 1 .. 5; };; ## test it test();; 0 main::test 0 main::test 0 main::test 0 main::test 0 main::test ## A queue for communication $Q = new Threads::Queue;; ## A thread that pulls the code ref of the queue and invokes it sub thread{ my $Q = shift; my $code = $Q->dequeue; &{ $code }->() };; ## create the thread $t = threads->create( \&thread, $Q );; ## And post the name of the code to be invoked $Q->enqueue( 'test' );; 1 main::test 1 main::test 1 main::test 1 main::test 1 main::test

What if anything you choose to do with this information is at your own risk :)


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."