# sub_program use strict; use warnings; { my $fh = select STDOUT; # making STDOUT "hot" (no IO buffering) $| = 1; select $fh; } for my $i (0..100) { print "$i \n"; sleep 3; } #### # main program use strict; use warnings; system ("perl sub_program.pl > file.txt &"); my $last_line; for my $i (0..100) { sleep 10; local @ARGV = ("file.txt"); $last_line = $_ while <>; print "iteration $i : $last_line"; } #### $ perl test_sub.pl iteration 0 : 3 iteration 1 : 6 iteration 2 : 9 iteration 3 : 13 iteration 4 : 16 ...