in reply to Setting Environment Variables in Linux

As merlyn points out, perlfaq8 answers this. However, it then refers you to another FAQ - comp.unix.questions. That can be found via google easily enough. Just FYI - I use this at work all the time. I have a table that I transform into aliases at work such that I can have these aliases do the "right thing" on AIX, Sun, HP, and Linux boxes. I do that via perl - your path change would fit the same way.

eval `/common/tools/mkAliases`
And then the mkAliases perl script does something like this:
my $table = read_table(); foreach my $key (keys %$table) { print "alias $key '$table->{$key} $current_user';\n"; print "alias ${key}r '$table->{$key} root';\n"; # etc. }
Note that the most important thing, which I found by trial and error, is that semicolon at the end of each string. The \n's are there in case I want to look at the output, but are ignored by the shell. (Well, not strictly true, but for all practical purposes, it's close enough.)

What this is doing, then, is creating a shell script in perl that the shell can then run to make the changes to the current shell process.