ماشوم شیل نشي کولی چې پراکسي بېرته Perl ته صادر کړي
د Perl ENV په مستقیم ډول تنظیم کړئ او د یوې ماشوم غوښتنې شاوخوا د local په مرسته د پراکسي بدلونکي محدود کړئ ترڅو اصلي ارزښتونه وروسته بېرته راشي.
هغه backtick کمانډ چې export لري یوازې هغه شیل بدلوي چې د همدې کمانډ لپاره جوړ شوی. کله چې شیل ووځي، مورني 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 شیل ته اړتیا نه لري.