#!/usr/bin/perl -ws use strict; use vars qw($f $d); use File::Find; my $start_dir = shift || '.'; my $dir_mode = $d ? oct($d) : 0775; my $file_mode = $f ? oct($f) : 0664; find \&wanted, $start_dir; sub wanted { my $mode = -d() ? $dir_mode : $file_mode; chmod $mode, $_ or die "Can't chmod $_: $!\n"; } __END__