in reply to Re: How do I used a threaded subroutine inside a perl object
in thread How do I used a threaded subroutine inside a perl object

I tried to use a code reference, but that failed as well. One difference I had to use is that I can't call object->new() outside of the closure as the new calls _init which is what I need to have run in a thread. I can change the object so new just creates a new object and then call _init in the closure if that would help.
sub getFDCObjects { my $self = shift; my %fdcObjectHash; my @threadQueue; my %switches = $self->getSwitches(); for my $switch (keys %switches) { #my $fdcObject = $self->_openFDCObject($switches{$switch}, $sw +itch); my $swObject = $switches{$switch}; my $threaddo = sub { my $self = shift; my $swObject = shift; my $switch = shift; my $fdcObject = FosDataCapture->new($log, $swObject); return ($fdcObject, $switch); }; my $thread = threads->create($threaddo,$swObject, $switch);