Works great. Fixed minor bug in your first open and added code to test to see if the file has been rotated. I think this will work well. Much better than my original idea of comparing the first line of the files. I simply test to see if the old end of file seek is larger than the new end of file seek.
thanks much for the assist
{
# get end of log file
open(LOG, "<$LOG") or die "Can't read $LOG: $!";
seek(LOG, 0, 2); # jump to the EOF
$new_seek = tell(LOG);
close LOG;
# get last known position of EOF
if (open(SEEK, "<$OutputDir/$NAME/last_seek")) {
$seek = <SEEK>;
chomp $seek;
close SEEK;
}
else { # no EOF recorded, find it
# warn "Failed to read seek: $!\nCreating\n";
&write_seek($new_seek);
exit;
}
if ($seek > $new_seek) { # New Log File
$seek = 0;
}
open(LOG, "<$LOG") or die "Can't read $log: $!";
seek(LOG, $seek, 0); # jump to the last EOF
while (<LOG>) {
$id = (split / /)[2];
$login_id{$id}++;
}
$seek = tell(LOG);
&write_seek($seek);
close LOG;
@Result = keys %login_id;
print "USERS=$#Result\n";
}
sub write_seek {
my $seek = shift;
open(SEEK, ">$OutputDir/$NAME/last_seek") or die "Can't write
+to seek: $!";
print SEEK $seek;
close SEEK;
}
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.