in reply to system() on Win32

@INC is not the variable to look for when you want to change the OS search path. If you're interested in what @INC does, perldoc perlvar will tell you what it is for.

It is $ENV{PATH} that you are interested in, but I really wonder, since by default, C:\WINNT\system32 is in the search path, because Windows uses $ENV{PATH} to look for DLLs as well. If your script is running under some weird restricted setup, you can either manually add $ENV{WINDIR} to $ENV{PATH}, or even hardcode the windows directory. You can also try to start the net.exe program directly, although I think that Perl will try to start cmd.exe still:

system('c:\\winnt\\system32\\net.exe','use',"$server\\\\$share") or die "Couldn't launch net.exe: $!";

You find the documentation for system by typing perldoc -f system at the command prompt, or by visiting system.

The alternative way of manually setting up the search path would work like this:

my $mypath = 'C:\\Winnt\\system32'; $ENV{PATH} .= ';' . $mypath;