use File::Find; find (\&change_sas,"/cdw/home_dir/s006258/CSPAM"); sub change_sas { my $filename=$_; if (-f $filename && $filename=~m/\.sas\z/) { chmod 0644,$filename; print "Found $filename, changing\n"; } }