Scroll to navigation

File::Monitor::Lite(3pm) User Contributed Perl Documentation File::Monitor::Lite(3pm)

NAME

File::Monitor::Lite - Monitor file changes

SYNOPSIS

  use File::Monitor::Lite;
  
  my $monitor = File::Monitor::Lite->new (
      in => '.',
      name => '*.html',
  );

  while ($monitor->check() and sleep 1){
      my @deleted_files = $monitor->deleted;
      my @modified_files = $monitor->modified;
      my @created_files = $monitor->created;
      my @observing_files = $monitor->observed;
      `do blah..` if $monitor->anychange;
  }

DESCRIPTION

This is another implementation of File::Monitor. While File::Monitor cannot detect file creation (unless you declare file name first), I use File::Find::Rule to rescan files every time when $monitor->check() is executed. To use this module, just follow synopsis above.

Currently one cannot change file observing rules. To do so, create another monitor object with new rules.

    $m1=File::Monitor::Lite->new(
        name => '*.html',
        in => '.',
    );
    $m1->check();
    #blah...
    $m2=File::Monitor::Lite->new(
        name => '*.css',
        in => '.',
    );
    $m2->check();
    #blah...

INTERFACE

" new ( args ) "
Create a new "File::Monitor::Lite" object.

    my $monitor = File::Monitor::Lite->new(
        in => '.',
        name => '*.mp3',
    );
    

The syntax is inherited from File::Find::Rule. It will applied on File::Find::Rule as

    File::Find::Rule
        ->file()
        ->name('*.mp3')
        ->in('.');
    

As described in File::Find::Rule, name can be globs or regular expressions.

    name => '*.pm',                     # a simple glob
    name => qr/.+\.pm$/,                # regex
    name => ['*.mp3', qr/.+\.ogg$/],    # array of rules
    name => @rules,
    
" check() "
Check if any file recognized by File::Find::Rule has changed (created, modified, deleted.) The usage is simple:

    $monitor->check();
    
" created "
Returns an array of file names which has been created since last check.
" modified "
Returns an array of file names which has been modified since last check.
" deleted "
Returns an array of file names which has been deleted since last check.
" observed "
Returns an array of file names which monitor is observing at.

SEE ALSO

File::Find::Rule, File::Monitor

AUTHOR

dryman, <idryman@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by dryman

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.

2017-09-06 perl v5.26.0