while (true) { opendir (DIR, "/my/dir") or die "Cannot open /my/dir: $!\n"; my @Dircontent = readdir DIR; close DIR; my $items_in_dir = @Dircontent; if ($items_in_dir > 2) { # > 2 because of "." and ".." do_something_now(); # takes file(s) and moves them } else {sleep 100;} }