use strict; use warnings; use POSIX qw( strftime ); my $dir = $ARGV[0] // '.'; my $wait = $ARGV[1] // 10; chdir $dir or die "$!"; my $count = () = glob '*'; print_dir_status($count); if ($count > 0) { my $equal = 0; until ($equal) { sleep $wait; my $new_count = () = glob '*'; $equal = 1 if $new_count == $count; $count = $new_count; print_dir_status($count); } } sub print_dir_status { my ($count) = @_; my $time = strftime "%a %d %b %Y %I:%M:%S %p", localtime; print "$time: there are $count files\n"; }