#!/usr/bin/perl -w $|++; use strict; use File::Find; my $dir = '/path/to/dir'; find(\&wanted, '/path/to/dir'); sub wanted { if (not -w $_ && not -r $_) { print "Cannot read or write $File::Find::name.\n"; } elsif (not -w) { print "Cannot write $File::Find::name.\n"; } elsif (not -r) { print "Cannot read $File::Find::name.\n"; } }