Я хочу добавить больше переменных в %ENV, видимых только для одного скрипта.
Это правильно или у нас есть другие способы?
$ENV{IM_ROOT} = $TC_ROOT;
$ENV{IM_DATA} |= $TC_DATA;
решение1
Вы можете назначить как хэш, своего рода добавление:
# cat fooenv.pl && ./fooenv.pl
#!/usr/bin/perl
%ENV = ( %ENV,
'XX' => 'foovar',
'YY' => 'barvar'
);
foreach $key (grep(/XX|YY/,keys(%ENV))){
printf "key=$key=%s\n",$ENV{$key};
}
key=YY=barvar
key=XX=foovar