Dijete ljuska ne može izvesti proxy natrag u Perl
Postavite Perl ENV direktno i lokalizirajte proxy varijable oko jednog poziva djeteta kako bi se originalne vrijednosti poslije vratile.
Naredba s backtickom koja sadrži export mijenja samo ljusku stvorenu za tu naredbu. Kada ljuska završi, roditeljski Perl proces i dalje ima svoje prethodno okruženje.
Umjesto toga postavite Perl hash okruženja. local može zadržati promjenu unutar jednog bloka:
{
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;
}
Dijete nasljeđuje lokalizirane vrijednosti. Za javno HTTP preuzimanje, krajnja točka s liste HTTP proxyja može dati te URL vrijednosti. Kada blok završi, Perl vraća prethodne unose, uključujući i njihovo ranije odsustvo. Prikazani system rezultat je status procesa Perla, a ne dekodirani kod HTTP odgovora.
local ima dinamički doseg: drugi Perl kod pozvan unutar tog bloka također vidi privremeno okruženje. To nije privatna ostava vjerodajnica po funkciji.
Pregledajte naslijeđene velike i bypass varijable za odabranog klijenta. Preuzimač odlučuje koje ulaze koristi. Postavka proxyja također ne mijenja korisnički identitet procesa niti zahtijeva posebnu root ljusku samo da bi bila naslijeđena.