#! perl -slw use strict; use bignum; use threads; use threads::shared; use Data::Dump qw[ pp ]; my %results :shared; async { my %comps; for my $i ( 1 .. 1e6 ) { $comps{ $i } = $i ** $i; } %results = %comps; }->detach; while( sleep 1 ) { print "timer event"; last if %results; } pp %results;