#!/usr/bin/perl use IO::Select; my $select = IO::Select->new(); $select->add(\*STDIN); my @ready; while(1) { if(@ready = $select->can_read(5)) { foreach (@ready) { my $line = <$_>; print "Read $line\n"; } } else { print "5 seconds passed without a read\n"; } }