export ပါဝင်သော backtick အမိန့်သည် ထိုအမိန့်အတွက် ဖန်တီးထားသော shell ကိုသာ ပြောင်းလဲသည်။ shell ထွက်သွားသောအခါ မိခင် Perl လုပ်ငန်းစဉ်တွင် ၎င်း၏ ယခင်ပတ်ဝန်းကျင် ရှိနေဆဲဖြစ်သည်။

အစား Perl ၏ ပတ်ဝန်းကျင် hash ကို သတ်မှတ်ပါ။ local သည် အပြောင်းအလဲကို block တစ်ခုအတွင်း ထိန်းထားနိုင်သည်။

{
    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 တန်ဖိုးများကို ပေးနိုင်သည်။ block ပြီးဆုံးသောအခါ Perl သည် ယခင်ထည့်သွင်းချက်များကို ၎င်းတို့ ယခင်မရှိခဲ့သည့် အခြေအနေအပါအဝင် ပြန်လည်ထူထောင်သည်။ ပြသထားသော system ရလဒ်သည် Perl ၏ လုပ်ငန်းစဉ်အခြေအနေဖြစ်ပြီး ကုဒ်ဖွင့်ထားသော HTTP တုံ့ပြန်မှုကုဒ် မဟုတ်ပါ။

local သည် ရွေ့လျားသော နယ်ပယ်ရှိသည်။ ထို block အတွင်း ခေါ်ယူသော အခြား Perl ကုဒ်သည်လည်း ယာယီပတ်ဝန်းကျင်ကို မြင်နိုင်သည်။ ၎င်းသည် လုပ်ဆောင်ချက်တစ်ခုစီအတွက် သီးသန့် အထောက်အထား သိုလှောင်ရာ မဟုတ်ပါ။

ရွေးချယ်ထားသော client အတွက် အမွေဆက်ခံသော စာလုံးကြီးနှင့် ကျော်ဖြတ်ကိန်းရှင်များကို ပြန်လည်စစ်ဆေးပါ။ မည်သည့် ထည့်သွင်းချက်များကို အသုံးပြုမည်ကို ဒေါင်းလုဒ်အစီအစဉ်က ဆုံးဖြတ်သည်။ ပရောက်စီသတ်မှတ်ချက်သည် လုပ်ငန်းစဉ်၏ အသုံးပြုသူ အထောက်အထားကို မပြောင်းလဲသလို အမွေဆက်ခံရန်အတွက်သာ သီးခြား root shell ကိုလည်း မလိုအပ်ပါ။

ဆက်စပ်ဆောင်းပါးများ