Why do I need to define environment variables in BF?
![](http://jazz.net/_images/myphoto/ac37cd0f817302f1db6c1f7282660abb.jpg)
1. We can create environment variables for a BF project, e.g. SERVER.
2. Then in a step we can do: .bset env "SERVER=test"
I know there are .bset .tset and .set: http://pic.dhe.ibm.com/infocenter/bldforge/v7r1m3/topic/com.ibm.rational.buildforge.doc/topics/steps_jobdata_vars__top.html
A step can also access system environment variables directly like $ENV{'SERVER'}, so we can do a $ENV{'SERVER'}=test, right? Is it same as .set?
In my case, I have a Perl script to remotely launch a BF project, so I can set all environment variables in my Perl before launch BF project, and then access them inside the BF project step by using $ENV{'SERVER'} approach, so I don't need to define any environment variables in BF project. So I don't need to call function like: updateBuildEnvEntryValue() to set the project envs? Am I right?
The reason is I have a long list of envs (20) to set before launch the BF project, and I found so many updateBuildEnvEntryValue() takes a lot time to run. SO I am thinking about set one long name/value pair string into BF's environment variable then parse it at a BF step.
Thanks
Jirong