If i try to run something like this, the db2 command will not be recognized.
Error:
"Can't exec "db2": No such file or directory"

So if i understood you correctly that doesnt work for some reason. As you may have understood i am not that into the logic of how different shells acquire their environment, and pass it on.
Am i right in the assumption that the system command will fork and inherit the environment from the perl script?
If i am, the question still stands, how can i make the perl script acquire the db2 environment