Backtick-käsk, mis sisaldab exporti, muudab ainult selle käsu jaoks loodud kesta. Kui kest lõpeb, on vanemprotsessil Perlis endiselt oma varasem keskkond.

Määrake selle asemel Perli keskkonna hash. local saab muudatuse ühe ploki sees hoida:

{
    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;
}

Laps pärib lokaliseeritud väärtused. Avaliku HTTP-allalaadimise jaoks saab HTTP-puhverserverite loendist võetud lõpp-punkt need URL-väärtused anda. Kui plokk lõpeb, taastab Perl varasemad kirjed, sealhulgas nende varasema puudumise. Kuvatav system-tulemus on Perli protsessi olek, mitte dekodeeritud HTTP-vastusekood.

local on dünaamilise skoobiga: teine selle ploki sees kutsutav Perli kood näeb samuti ajutist keskkonda. See ei ole funktsioonipõhine privaatne mandaatide hoidla.

Vaadake valitud kliendi jaoks üle päritud suurtäht- ja möödaviigu muutujad. Allalaadija otsustab, milliseid sisendeid ta kasutab. Puhverserveri säte ei muuda ka protsessi kasutajaidentiteeti ega nõua eraldi root-kesta ainult pärimiseks.

Seotud artiklid