in reply to creating directories

I believe mkdir in Perl 5.5.3 and earlier requires a second parameter, the mode of the directory to create. (perlfunc -f umask recommends 0777). That's worth a try.

Otherwise, you could use the list form of system for your mkdir call:

my $dir = 'c:/testdir'; system('mkdir', $dir);
I'm not a Windows hacker, so this is untested. Perhaps you could post any error messages when run under -w and strict.