Хүүхэд бүрхүүл проксийг Perl руу буцааж экспортлож чадахгүй
Perl-ийн ENV-г шууд тохируулж, нэг хүүхэд дуудлагын эргэн тойронд прокси хувьсагчдыг local-оор хязгаарласнаар анхны утгууд дараа нь буцаж ирнэ.
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 бүрхүүл шаарддаггүй.