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 zato da bi bila naslijeđena.

Povezani članci