Naredba s backtickom koja sadrži export mijenja samo ljusku stvorenu za tu naredbu. Kad 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 popisa HTTP proxyja može dati te URL vrijednosti. Kad blok završi, Perl vraća prethodne unose, uključujući i njihovu raniju odsutnost. Prikazani system rezultat je status Perl procesa, 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 pohrana 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 zasebnu root ljusku samo zato da bi bila naslijeđena.

Povezani članci