in reply to Can I do this ???

Win32::EnvProcess on Windows, but it can be a bit flaky. Try as I might I cannot hack a way of doing that in *nix, even by attaching as a debugger.

You really need co-operating processes and some sort of perlipc.

update: For example (untested):
my $status = system('(shs01.sh;thing.pl)');
The 'thing.pl' perl script runs in the same subshell as the script, and should be able to pickup environment variable changes. It can then use some sort of IPC to pass the env. block back to the parent (or even save it in a file).