export भएको backtick आदेशले त्यही आदेशका लागि बनाइएको शेल मात्र परिवर्तन गर्छ। शेल बाहिर निस्कँदा अभिभावक Perl प्रक्रियासँग अझै यसको अघिल्लो वातावरण हुन्छ।

यसको सट्टा Perl को वातावरण ह्यास सेट गर्नुहोस्। 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 शेल पनि चाहिँदैन।

सम्बन्धित लेखहरू