#!/usr/bin/perl
#
#$Id: dirwatch,v 1.3 2002/07/04 20:13:24 eric Exp $
use strict;
use POE qw(Component::DirWatch);
my $dir = shift or die "usage: $0 directory\n";
my $intv = shift || 1;
POE::Session->create(
inline_states => {
_start => \&_start,
},
args => [ $dir, $intv ],
);
$poe_kernel->run();
exit 0;
####################
sub _start
{
my ($kernel, $dir, $intv, $rex) = @_[KERNEL, ARG0..ARG2];
POE::Component::DirWatch->spawn(
Directory => $dir,
PollInterval => $intv,
Filter => sub { $_[0] =~ /\.gz$/ && -f $_[1] },
Callback => \&gotfile,
);
}
####################
sub gotfile
{
my ($file, $pathname) = @_[ARG0, ARG1];
print scalar(localtime), " $file ($pathname)\n";
}
syntax highlighted by Code2HTML, v. 0.9.1