#!/usr/bin/perl use strict; use warnings; use IO::BufferedSelect; my $fh1; my $fh2; my $bs = new IO::BufferedSelect($fh1, $fh2); while(1) { my @canBeRead = $bs->read_line(); foreach (@canBeRead) { my ($fh, $line) = @$_; my $fh_name = ($fh == $fh1 ? "fh1" : "fh2"); print "fh_name: $line\n"; } }