BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use threads; use strict; die $! unless open my $fh, '>', 'junk.dat'; $_->join foreach (map {async sub { seek $fh, $_ * 80, 0; print $fh $_ x 78; } ;} 1..4); close $fh; die $! unless open $fh, '<', 'junk.dat'; print $_ while defined($_ = <$fh>); close $fh;