my $old_umask = umask;
umask 0777;
mkdir $dump_dir
or die "Couldn't create '$dump_dir': $!";
umask $old_umask;
####
$ perl -e'printf "umask: %04o\n", umask; printf "mode: %04o\n", 0777; printf "masked mode
: %04o\n", 0777 & ~umask'
umask: 0022
mode: 0777
masked mode: 0755
$
##
##
$ perl -e'umask 0; printf "umask: %04o\n", umask; printf "mode: %04o\n", 0777; printf "ma
sked mode: %04o\n", 0777 & ~umask'
umask: 0000
mode: 0777
masked mode: 0777
$ perl -e'umask 0; mkdir "FOO", 0777'
$ ls -dl FOO
drwxrwxrwx 2 matt matt 6 Apr 13 20:07 FOO
$