The problem is the regex on line 127 of DriveInfo.pm.
$drive =~ s/^(\\\\\w+\\\w+\$?)(\\)?$/$1\\/;
It doesn't allow for '-' in machine or path names. Switching that (and the 3 other occurances in the file) to
$drive =~ s/^(\\\\[^\\]+\\[^\\]+\$?)(\\)?$/$1\\/;
Allows the DriveSpace() call to work. At least using UNCs local on my machine. I haven't tested the other calls and that regex could probably be tighten back up a little.
It would also be good if you reported the problem back to the module's author. Then he can decide how much tighter to make it and test the other occurences.
You could also suggest changing all the occurances of return undef if/unless ...
to return if/unless ....
That'll ensure that the right flavour of undef is returned whatever the context, and allow the or die ... idiom to work properly in calling code.
In reply to Re^5: Trying to get drive space info on remote Windows servers
by BrowserUk
in thread Trying to get drive space info on remote Windows servers
by Cloudster
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |