while (readdir D) { if (-d) { recurse_dir($_) unless ($_ eq '.' or $_ eq '..') } else { process_file($_) if -f } }