use File::Tail; my $ref=tie *DIAG,"File::Tail",(name=>$name); while () { # your while (1) loop processing goes here }