in reply to Is returning a list broken when using threads?
To make this discussion complete, on the other hand, most of the time, it is a better idea to return array ref, instead of array, regardless whether the program is multi-threaded: (In this way, you don't need to worry about the context any more)
use strict; use warnings; use Data::Dumper; use threads; my $thr = threads->new(\&sub1); my $ReturnData = $thr->join; print Dumper($ReturnData); $ReturnData = sub1(); print Dumper($ReturnData); sub sub1 { return ["Fifty-six", "foo", 23]; }
This prints:
$VAR1 = [ 'Fifty-six', 'foo', 23 ]; $VAR1 = [ 'Fifty-six', 'foo', 23 ];
|
|---|