#!perl use strict; use warnings; use autodie; use File::Find::Rule; use File::DosGlob 'glob'; my ($search) = @ARGV or die "need a directory to search"; sub found { my ($name, $path, $full) = @_; warn "Warning: $full has size ZERO" # outputs to STDERR unless $name ~~ ['empty.txt', 'sample.txt']; # Perl v5.10+ # unless $name eq 'empty.txt' or $name eq 'sample.txt'; } File::Find::Rule->file->empty->exec(\&found)->in($search);