use Env '@PATH'; my @short = map {Win32::GetShortPathName($_) } @PATH; print 'set path=', pop @short, "\n"; print "$_\n" for map { "set path=$_;%path%" } reverse @short; __END__ ... set path=C:\PROGRA~1\GNU\GnuPG;%path% set path=C:\PROGRA~1\gnuwin32\bin;%path% ...