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.

Povezani članci