Seems like it might be more effective to run an actual script to step through the process and diagnose where this is breaking down:
use strict; use warnings 'all'; use Cwd; my $docs = 'C:\Documents and Settings'; chdir($docs) || die "Couldn't change directory to $docs: $!"; print "Current directory is ", getcwd, "\n"; if (-r 'Administrator') { print "Administrator is readable.\n"; } else { die "Couldn't read 'Administrator': $!"; } if (chdir('Administrator')) { print "Changed directory to Administrator.\n"; } else { die "Couldn't change directory to 'Administrator': $!"; } print "Current directory is ", getcwd, "\n"; if (opendir(ADMINDIR, "$docs\\Administrator")) { print "Opened directory Administrator.\n"; } else { die "Couldn't open directory 'Administrator': $!"; }
By the way, be sure you're not trying to opendir on your directory after you've chdir'ed into it. I caught that mistake in whipping up the above. To opendir on your current working directory, you either have to opendir(DIR, '.') or provide the full path.
In reply to Re: win32/winxp, -r and chdir succeed but opendir fails, permission denied
by LonelyPilgrim
in thread win32/winxp, -r and chdir succeed but opendir fails, permission denied
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |