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 $