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

Sounds like you're not using a cygwin build of Perl as you say you are, or the cygwin build of Perl uses cmd as the shell like other Windows builds of Perl.

The proper syntax to interpolate env vars in cmd is %VAR%

Is there a reason why you prefer to involve a shell?