$file=File::Tail->new(name=>$filename, maxinterval=>5, interval=>1, tail=>-1, ignore_nonexistant => 1, errmode=>\&do_exit); while ( <$sock> ) { until (-e $filename) { sleep 10; } next unless /\S/; # blank line log_notice "Tailing $filename\n"; while ( defined($line=$file->read) ) { if (!defined $first_record) { $first_record = $line; } elsif ($line eq $first_record) { log_warn("TAIL reset at record: ".$record." Msg: ".$!); $last_sent = $record; $record = 0; } $record++; if ($record > $last_sent) { my @f=(split /;/,$line); if ($f[21] > $max_seq_num) { print $sock $record.";".$cdr_file.";".$thishost.";".$line; } else { #log_notice("Skipping seq_num $f[21]"); } } } # End While # 2 &do_term($sock); } # End While sock