plucky (3) Path::Class::File::Stat.3pm.gz

Provided by: libpath-class-file-stat-perl_0.05-3_all bug

NAME

       Path::Class::File::Stat - test whether the file beneath a Path::Class::File object has changed

SYNOPSIS

         use Path::Class::File::Stat;
         my $file = Path::Class::File::Stat->new('path','to','file');

         # $file has all the magic of Path::Class::File

         # sometime later
         if ($file->changed) {
           # do something provocative
         }

DESCRIPTION

       Path::Class::File::Stat is a simple extension of Path::Class::File.  Path::Class::File::Stat is useful in
       long-running programs (as under mod_perl) where you might have a file handle opened and want to check if
       the underlying file has changed.

METHODS

       Path::Class::File::Stat extends Path::Class::File objects in the following ways.

   use_md5
       Calling this method will attempt to load Digest::MD5 and use that in addition to stat() for creating file
       signatures. This is similar to how File::Modified works.

   changed
       Returns the previously cached File::stat object if the file's device number and inode number have
       changed, or if the modification time or size has changed, or if use_md5() is on, the MD5 signature of the
       file's contents has changed.

       Returns 0 (false) otherwise.

       While File::Modified uses a MD5 signature of the stat() of a file to determine if the file has changed,
       changed() uses a simpler (and probably more naive) algorithm. If you need a more sophisticated way of
       determining if a file has changed, use the restat() method and compare the cached File::stat object it
       returns with the current File::stat object.

       Example of your own changed() logic:

        my $oldstat = $file->restat;
        my $newstat = $file->stat;
        # compare $oldstat and $newstat any way you like

       Or just use File::Modified instead.

   restat
       Re-cache the File::stat object in the Path::Class::File::Stat object. Returns the previously cached
       File::stat object.

       The changed() method calls this method internally if changed() is going to return true.

SEE ALSO

       Path::Class, Path::Class::File, File::Signature, File::Modified

AUTHOR

       Peter Karman, <karman@cpan.org>

       Copyright (C) 2006, 2013 by Peter Karman

       This library is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.