Një komandë backtick që përmban export ndryshon vetëm shell-in e krijuar për atë komandë. Kur shell-i mbaron, procesi prind i Perl vazhdon të ketë mjedisin e mëparshëm.

Në vend të kësaj vendosni hash-in e mjedisit të Perl. local mund ta mbajë ndryshimin brenda një blloku:

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

Fëmija trashëgon vlerat e lokalizuara. Për një shkarkim publik HTTP, një pikë fundore nga lista e proxy-ve HTTP mund të sigurojë ato vlera URL. Kur blloku mbaron, Perl rikthen shënimet e mëparshme, përfshirë mungesën e tyre të mëparshme. Rezultati system i shfaqur është statusi i procesit të Perl, jo një kod përgjigjeje HTTP i dekoduar.

local ka shtrirje dinamike: kodi tjetër Perl i thirrur brenda atij blloku sheh gjithashtu mjedisin e përkohshëm. Nuk është një depo private kredencialesh për çdo funksion.

Rishikoni variablat e trashëguara me shkronja të mëdha dhe variablat e anashkalimit për klientin e zgjedhur. Është shkarkuesi ai që vendos cilat hyrje konsumon. Një cilësim proxy gjithashtu nuk ndryshon identitetin e përdoruesit të procesit dhe nuk kërkon një shell root të veçantë vetëm që të trashëgohet.

Artikuj të ngjashëm