אַ קינד־שעל קען נישט עקספּאָרטירן אַ פּראָקסי צוריק אין Perl
שטעלט די ENV פֿון Perl גלײַך און באַגרענעצט די פּראָקסי וואַריאַבלען מיט local אַרום איין קינד־רויף, אַז די אָריגינעלע ווערטן זאָלן צוריקקומען דערנאָך.
אַ באַקטיק־באַפֿעל מיט export ענדערט נאָר די שעל וואָס איז געשאַפֿן געוואָרן פֿאַר דעם באַפֿעל. ווען די שעל ענדיקט זיך, האָט דער עלטער־פּראָצעס פֿון 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;
}
דאָס קינד ירשעט די לאָקאַליזירטע ווערטן. פֿאַר אַ פּובליק HTTP־אַראָפּלאָדונג קען אַן ענדפּונקט פֿון דער HTTP־פּראָקסי ליסטע צושטעלן די URL־ווערטן. ווען דער בלאָק ענדיקט זיך, שטעלט Perl צוריק די פֿריִערדיקע איינסן, אַרײַנגערעכנט זייער פֿריִערדיקער אָפּוועזנהייט. דאָס ווייַזן פֿון system איז דער פּראָצעס־סטאַטוס פֿון Perl, נישט אַ דעקאָדירטער HTTP־ענטפֿער קאָד.
local האָט אַ דינאַמיש צוועק: אַנדער Perl־קאָד וואָס ווערט גערופֿן אין דעם בלאָק זעט אויך די צײַטווײַליקע סבֿיבֿה. דאָס איז נישט קיין פּריוואַטער פֿאַרלאָג פֿון באַשטעטיקונגען פּער פֿונקציע.
קוקט איבער די ירשענע גרויסע־אותיות און באַשטיי־וואַריאַבלען פֿאַר דעם אויסגעקליבענעם קליענט. דער אַראָפּלאָדער באַשטימט וואָס פֿאַר איינשטעלונגען ער נוצט. אַ פּראָקסי־איינשטעלונג ענדערט אויך נישט די באַנוצער־אידענטיטעט פֿון דעם פּראָצעס און פֿאָדערט נישט קיין באַזונדער root־שעל בלויז כּדי צו ווערן ירשענע.