Eit barneskal kan ikkje eksportera ein proxy tilbake til Perl
Set ENV-en til Perl direkte og lokaliser proxyvariablar rundt eitt underordna kall, slik at dei opphavlege verdiane kjem tilbake etterpå.
Ein backtick-kommando med export endrar berre skalet som vart oppretta for nettopp den kommandoen. Når skalet avsluttast, har den overordna Perl-prosessen framleis sitt tidlegare miljø.
Set i staden miljøhashen til Perl. local kan halda endringa innanfor éin blokk:
{
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;
}
Barnet arvar dei lokaliserte verdiane. For ei offentleg HTTP-nedlasting kan eit endepunkt frå HTTP-proxylista levera desse URL-verdiane. Når blokka sluttar, gjenopprettar Perl dei tidlegare oppføringane, òg deira tidlegare fråvær. Den viste system-utskrifta er prosessstatusen til Perl, ikkje ein avkoda HTTP-svarkode.
local har dynamisk omfang: annan Perl-kode som vert kalla inni blokka, ser òg det mellombelse miljøet. Det er ikkje eit privat påloggingslager per funksjon.
Gå gjennom arva store bokstavar og bypass-variablar for den valde klienten. Nedlastaren avgjer kva inndata han brukar. Ei proxyinnstilling endrar heller ikkje brukaridentiteten til prosessen og krev ikkje eit eige root-skal berre for å verta arva.