export የያዘ የbacktick ትዕዛዝ ለዚያ ትዕዛዝ የተፈጠረውን ሼል ብቻ ይለውጣል። ሼሉ ሲወጣ የወላጁ Perl ሂደት አሁንም የቀድሞ አካባቢውን ይይዛል።

በምትኩ የPerl የአካባቢ hash ያዘጋጁ። local ለውጡን በአንድ ብሎክ ውስጥ ሊያቆየው ይችላል፦

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

ልጁ የlocal እሴቶችን ይወርሳል። ለአደባባይ HTTP ማውረድ፣ ከHTTP ፕሮክሲ ዝርዝር የመጣ የመጨረሻ ነጥብ እነዚያን የURL እሴቶች ሊያቀርብ ይችላል። ብሎኩ ሲያልቅ Perl ቀደም ያሉትን ግቤቶች ይመልሳል፣ አስቀድመው ያልነበሩበትንም ጭምር። የሚታየው የsystem ውጤት የPerl ሂደት ሁኔታ ነው፣ የተፈታ የHTTP ምላሽ ኮድ አይደለም።

local በተለዋዋጭ ክልል ይሠራል፦ በዚያ ብሎክ ውስጥ የሚጠራ ሌላ የPerl ኮድ ጊዜያዊውን አካባቢ ማየት ይችላል። ለአንድ ተግባር የተለየ የምስጢር መጋዘን አይደለም።

ለተመረጠው ደንበኛ የሚወረሱ የአቢይ ፊደል እና የማለፊያ ተለዋዋጮችን ይመርምሩ። አውራጁ የትኞቹን ግብዓቶች እንደሚጠቀም ይወስናል። የፕሮክሲ ቅንብር የሂደቱን የተጠቃሚ ማንነት አይለውጥም፣ እንዲወረስም ለየት ያለ root ሼል አይጠይቅም።

ተዛማጅ ጽሑፎች