Contributed by tim
on Sep 05, 2000 at 23:08 UTC
Q&A
> files
Description: The standard answers to this question, found in the FAQ
and in the perl cookbook, don't seem to be working.
I'd like to avoid a tell-close-open-seek series of calls,
as it seems that would add a lot of overhead. Answer: How do I tail -f a file if it is NFS mounted? contributed by lhoward I've used this technique before with quite
a bit of success. Only problem is that it
can't detect a "real" EOF (writer has stopped writing to the file)
but that will be the case with just about any method:
#!/usr/bin/perl -w
use IO::File;
use strict;
my $tail = new IO::File;
$tail->open("<./log.dat");
while(1){
my @lines=$tail->getlines();
if(0==scalar(@lines)){
# wait 1 second before trying again...
# to keep from hogging CPU cycles
sleep 1;
}else{
my $line;
foreach $line(@lines){
chomp $line;
print " \"$line\"\n";
}
}
}
| Answer: How do I tail -f a file if it is NFS mounted? contributed by merlyn I would use File::Tail. | Answer: How do I tail -f a file if it is NFS mounted? contributed by tim Whoops :( My implementation of the example found
in "perldoc -f seek" was incomplete. This one
seems to work:
for (;;) {
for ($curpos = tell(FILE); $_ = <FILE>;
$curpos = tell(FILE)) {
# search for some stuff and put it into files
}
sleep($for_a_while);
seek(FILE, $curpos, 0);
}
I'm really not that much of an idiot. really. |
Please (register and) log in if you wish to add an answer
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
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, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Outside of code tags, you may need to use entities for some characters:
| |
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.
|
|