while(1){ print "Hello\n"; sleep(2); } #### my @lines; while(1){ sleep(10); if (){#Non-blocking reading print "Reading lines..."; @lines=; print "@lines"; }else{ print "No lines received.\n"; } } #### $./producer.pl Hello Hello $echo "Hello" | ./consumer.pl Hello