#! perl -slw use strict; use threads; use Time::HiRes qw[ time ]; sub test { my @b = map[[0,0],[0,0]], 0 .. 255; return \@b; } my $start = time; my $nothread = @{ test() }; printf "Unthreaded took: %.6f\n", time() - $start; $start = time; my $thread = @{ threads->create( \&test )->join }; printf "Threaded took: %.6f\n", time() - $start; __END__ c:\test>junk Unthreaded took: 0.000851 Threaded took: 0.012510 #### say 'Count: ', scalar @{ threads-> create( \&test, 'test.png' )-> join }; #### ... shift @b; return scalar @b; }