ពាក្យបញ្ជា backtick ដែលមាន export ផ្លាស់ប្តូរតែសែលដែលបានបង្កើតសម្រាប់ពាក្យបញ្ជានោះប៉ុណ្ណោះ។ នៅពេលសែលចេញ ដំណើរការ Perl មេនៅតែមានបរិស្ថានមុនរបស់វា។

ជំនួសមកវិញ កំណត់ hash បរិស្ថានរបស់ 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;
}

កូនទទួលមរតកតម្លៃដែលបានធ្វើមូលដ្ឋានីយកម្ម។ សម្រាប់ការទាញយក HTTP សាធារណៈ ចំណុចបញ្ចប់ពី បញ្ជីប្រូកស៊ី HTTP អាចផ្តល់តម្លៃ URL ទាំងនោះ។ នៅពេលប្លុកបញ្ចប់ Perl ស្តារធាតុមុន រួមទាំងអវត្តមានមុនរបស់ពួកវា។ លទ្ធផល system ដែលបានបង្ហាញគឺស្ថានភាពដំណើរការ Perl មិនមែនកូដឆ្លើយតប HTTP ដែលបានឌិកូដទេ។

local មានវិសាលភាពថាមវន្ត៖ កូដ Perl ផ្សេងទៀតដែលហៅក្នុងប្លុកនោះក៏ឃើញបរិស្ថានបណ្តោះអាសន្នដែរ។ វាមិនមែនជាឃ្លាំងសម្ងាត់ឯកជនក្នុងមួយអនុគមន៍ទេ។

ពិនិត្យអថេរមរតកអក្សរធំ និងអថេររំលងសម្រាប់អតិថិជនដែលបានជ្រើសរើស។ កម្មវិធីទាញយកជាអ្នកសម្រេចថាតើប្រើធាតុចូលណា។ ការកំណត់ប្រូកស៊ីក៏មិនផ្លាស់ប្តូរអត្តសញ្ញាណអ្នកប្រើរបស់ដំណើរការ ហើយក៏មិនទាមទារសែល root ដាច់ដោយឡែកដោយសារតែត្រូវទទួលមរតកនោះទេ។

អត្ថបទពាក់ព័ន្ធ