Very neat, I always like pure Perl ways of doing stuff. A couple of thoughts:
If you don't have a Windows domain (i.e. have a set of disparate boxes in workgroups) then you would need to specify a valid account on the remote machine in the form "remotemachinename\\username".
When I ran your code on my machine, I got the following error:
connecting \\server\share to g:
Undefined subroutine &Win32::GetError called at 491533.pl line 54.