#! /usr/bin/perl -w use strict; use IO::File; use IO::Select; use IO::Seekable; $| = 1; my $filename = "aaa.txt"; my $f = new IO::File( "< $filename" ); if( $f ) { $f->autoflush( 1 ); $f->blocking( 0 ); $f->seek( 0, IO::Seekable::SEEK_END ); sleep( 1 ); my $selector = new IO::Select(); $selector->add( $f ); my $n = 10; while( $n-- ) { my @ready_list = $selector->can_read( 1 ); my $ready_len = scalar( @ready_list ); print "len = $ready_len\n"; foreach my $handle (@ready_list) { if( $handle == $f ) { my $line = $handle->getline(); while( defined( $line ) ) { print "=> $line"; $line = $handle->getline(); } } else { print "not equal to f ... how strange\n"; } } sleep( 10 ); } $f->close(); } else { print "ERROR -- Unable to open $filename\n"; } print "done!\n"; exit( 0 ); # eof