#!/usr/bin/perl -Tw # # ivan@sisd.com 98-mar-23 use strict; use Date::Parse; #but hopefully not $|=1; my($file,$pos)=@_; open(FILE,"<$file") or die "Can't open $file: $!"; seek(FILE,$pos,0) or die "Can't seek: $!"; my($datestr); my(%param); $SIG{'HUP'} = sub { print "EOF\n"; exit; }; while (1) { while () { next if /^$/; if ( /^\S/ ) { chop($datestr=$_); undef %param; } else { warn "Unexpected line: $_"; } while () { if ( /^$/ ) { #if ( $param{'Acct-Status-Type'} eq 'Stop' ) { print join("\t", tell FILE, %param, ),"\n"; #} last; } elsif ( /^\s+([\w\-]+)\s\=\s\"?([\w\.\-]+)\"?\s*$/ ) { $param{$1}=$2; } else { warn "Unexpected line: $_"; } } } sleep 1; seek(FILE,0,1); }