in reply to Failure to access Environment variables using Perl system command on cygwin

try this
perl -MEnv -e 'print $ENVIRON1'

print+qq(\L@{[ref\&@]}@{['@'x7^'!#2/"!4']});

Replies are listed 'Best First'.
Re^2: Failure to access Environment variables using Perl system command on cygwin
by Anonymous Monk on Feb 17, 2009 at 21:14 UTC
    This actually does print the value of $ENVIRON1, I figured it would as you use the perl syntax.


    Now I tried also:
    Perl.exe -MEnv -e 'system("echo $PATH");
    which also works.

    So the difference seems to be that when I use:
    system("echo $PATH");
    it works fine

    while when I use:
    system << 'EOD'; echo $PATH EOD



    it does not.

    is there a way to make the second version work also?



    The reason I try to set the program up this way is that this code has a number of scripts that communicate with each other through environment variables. I.e. different paths are resolved based on these commands. It is not the cleanest way of doing it, but it has served our company for over 5 years fine. Now we are doing a port to Cygwin and it seem to be significantly more challenging. Thanks for your help.