#! perl -slw use strict; use threads; my @threads = map async( sub{ my $num = shift; print "started thread $num"; sleep $num; print "done with thread $num"; return $num; }, $_ ), 1 .. 3; print "Done with ", $_->join for @threads; __END__ C:\test>junk52 started thread 1 started thread 2 started thread 3 done with thread 1 Done with 1 done with thread 2 Done with 2 done with thread 3 Done with 3