######################################################################
    File::Tail::FAM 0.02
######################################################################

NAME
    File::Tail::FAM - Tail using the File Alteration Monitor (FAM)

SYNOPSIS
        use File::Tail::FAM;

        my $tail = File::Tail::FAM->new(
            file => "/tmp/abc"
        );

           # Blocking read (without wasting any CPU time)
        while(defined( my $data = $tail->read() )) {
            print "This just got added: [$data]\n";
        }

           # Or, read data in non-blocking mode
        my $data = $tail->read_nonblock();
        if(defined $data) {
            print "This just got added: [$data]\n";
        } else {
            print "Nothing happened\n";
        }

DESCRIPTION
    "File::Tail::FAM" reports when new data chunks are appended to a given
    file. Similar to the Unix command

        $ tail -f filename

    it watches a file grow continuously and reports whenever a new chunk of
    data has been added.

    Differently from the traditional approach of periodically polling the
    file (used by "tail -f" and "File::Tail"), "File::Tail::FAM" uses the
    *File Alteration Monitor* to get notified by the Linux kernel whenever
    new data gets added to the watched file.

    This way, "File::Tail::FAM" will simply block (and therefore won't use
    any CPU cycles) until the kernel's notification mechanism wakes it up
    when new data has arrived.

    "File::Tail::FAM" uses the Perl module "SGI::FAM", which provides an API
    to the File Alteration Monitor (FAM) library routines which come with
    many Linux distributions ("man 3 fam") and are available for download at

        http://oss.sgi.com/projects/fam/index.html

LEGALESE
    Copyright 2005 by Mike Schilli, all rights reserved. This program is
    free software, you can redistribute it and/or modify it under the same
    terms as Perl itself.

AUTHOR
    2005, Mike Schilli <cpan@perlmeister.com>

