in reply to manipulating environment variables

You can assign values to %ENV the same way you assigning values to usual hash. If other script is child of current process created after you assigned value to $ENV{NAME}, the value will be available in this script. If other script is not child of the current process, than you should use some other way to pass value to it, there's no practical way one process could change environment of the other process.