in reply to running sh script from perl script
it is only modifying the environment of the subshell that is running your shell script. the syntax ". shellscript.sh" only works in sh/bash/etc. all it is doing is saying "run these commands as if i typed them at the command prompt". if you want to modify environment variables inside your perl script, you will need to modify $ENV yourself.