What you wrote has no semblance to the code in the nodes I linked. Please read Get default login environment.
As to your code, did you try it? If so, what were the results?
| [reply] |
I tried with the following code,
$res = get_login_env();
print $res;
sub get_login_env {
local %ENV;
my $env = `echo env | perl -e 'exec {"C:\\temp\\test.bat"} -sh'`;
print $env;
if (wantarray) {
my @pieces = ($env =~ m/^(.*?)=((?:^\n\\|\\.|\\\n)*)/gm );
s/\\(.)/$1/g foreach @pieces;
return @pieces;
}
else
{
return $env;
}
}
Where the test.bat file is having the set commands.
It is not throwing error and it is not getting the varible also.
| [reply] |
That is because you don't have a env command on Windows, and the Windows shell uses double quotes for quoting, and many other things. You need to change the snippet to respect Windows conventions.
Also, you may want to put your code in between <code>...</code> tags so it renders and downloads nicely.
| [reply] [d/l] [select] |