eval { sub test { timeout 10, @_ => sub { print "$_[0]"; }; } }; #### #! perl -slw use strict do { my $tid = int( rand ); #'threads'->tid; my $worktime = shift @_; print "Thread $tid started with a worktime of $worktime"; print "Thread $tid ended ", $@ ? " with error: $@" : "normally"; } for 1 .. 4;