Thanks for your suggestion!
I found the following code can monitor the file's delete, rename or ctreat in one directory, so, when I delete one file, it printed a message "file deleted: ...", but when I made some changes on one of the txt files in that directory and saved it, there was no message printed out, can anyone tell me what was the problem in the following codes? Or, actually the code can't monitor the change in file's size?
Thanks in advance!
#!/usr/bin/perl
use strict;
use warnings;
use Carp;
use File::Monitor;
$| = 1;
my $monitor = File::Monitor->new;
push @ARGV, '.' unless @ARGV;
while ( my $obj = shift ) {
$monitor->watch(
{
name => $obj,
recurse => 1
}
);
}
my @attr = qw(
deleted mtime ctime uid gid mode
size files_created files_deleted
);
while ( 1 ) {
sleep 1;
for my $change ( $monitor->scan ) {
print $change->name, " changed\n";
for my $attr ( @attr ) {
my $val;
if ( $attr =~ /^files_/ ) {
my @val = $change->$attr;
$val = join( ' ', @val );
}
else {
$val = $change->$attr;
}
if ( $val ) {
printf( "%14s = %s\n", $attr, $val );
}
}
}
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|