That construct will change the environment for the called shell only. It won't have any effect on the perl program or its parent processes.
That's also the reason you have to "source" a shell script if you're using it to set environment variables- it's then run by the current shell, in stead of executed by a child process.