in reply to How can I change the environment from within my Perl script?
Nor should it. system() will pass the current environment to the program being invoked, but changes made to that environment are not passed to the parent. So, basically, you're changing the path for the duration of the system() call, which is just long enough for the command to exit.
If you're trying to change the path permanently, this can't be done. There's no way to update the path of the parent process.
If you'd like to change the path for the duration of the Perl script, see the perldoc ::Cwd
documentation. This will change the path environment of the current process, which is your Perl script. Any subsequent system() or exec() calls will honour the new path. However, once the Perl program setting the path exits, your path will revert to whatever it was set to by the calling program.
--Chris