my $num_threads = 2; my $thr = []; BEGIN { use threads; my $fct = sub { print "hello\n"; open FILE, ">>./hello.dat"; print FILE "hello\n"; close FILE }; for (my $ii=0; $ii<$num_threads; $ii++) { $thr->[$ii] = threads->create($fct); print "\$ii=$ii, started $thr->[$ii]$thr->[$ii]=$thr->[$ii]\n"; $thr->[$ii]->join(); } } print "done\n"; #### BEGIN { #### $ii=0, started threads=SCALAR(0x14d271c)threads=SCALAR(0x14d271c)=threads=SCALAR(0x14d271c) hello $ii=1, started threads=SCALAR(0x14d273c)threads=SCALAR(0x14d273c)=threads=SCALAR(0x14d273c) hello done