Дете љуска не може да извезе прокси назад у Perl
Поставите Perl ENV директно и локализујте прокси променљиве око једног позива детета да би се оригиналне вредности после вратиле.
Наредба са backtick-ом која садржи export мења само љуску створену за ту наредбу. Када љуска заврши, родитељски Perl процес и даље има своје претходно окружење.
Уместо тога поставите Perl hash окружења. local може да задржи промену унутар једног блока:
{
local $ENV{http_proxy} = 'http://proxy.example:8080';
local $ENV{https_proxy} = 'http://proxy.example:8080';
my $status = system {
'/usr/bin/curl'
} '/usr/bin/curl', '--fail', '--max-time', '30',
'https://downloads.example/data.csv';
die "Downloader failed: $status" if $status != 0;
}
Дете наслеђује локализоване вредности. За јавно HTTP преузимање, крајња тачка са листе HTTP проксија може да пружи те URL вредности. Када блок заврши, Perl враћа претходне уносе, укључујући и њихово раније одсуство. Приказани system резултат је статус Perl процеса, а не декодирани код HTTP одговора.
local има динамички опсег: други Perl код позван унутар тог блока такође види привремено окружење. То није приватно складиште акредитива по функцији.
Прегледајте наслеђене променљиве великим словима и променљиве заобилажења за изабраног клијента. Преузимач одлучује које улазе користи. Подешавање проксија такође не мења кориснички идентитет процеса нити захтева посебну root љуску само да би било наслеђено.