Ní féidir le foilshell seachfhreastalaí a onnmhairiú ar ais go Perl
Socraigh ENV Perl go díreach agus cuir srian le hathróga seachfhreastalaí le local timpeall ar aon ghlao linbh ionas go dtiocfaidh na bunchluanna ar ais ina dhiaidh sin.
Ní athraíonn ordú backtick ina bhfuil export ach an shell a cruthaíodh don ordú sin. Nuair a chríochnaíonn an shell, tá a thimpeallacht roimhe fós ag an bpróiseas Perl tuismitheora.
Socraigh hash timpeallachta Perl ina ionad. Is féidir le local an t-athrú a choinneáil laistigh d'aon bhloc amháin:
{
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;
}
Faigheann an leanbh na luachanna logánaithe le hoidhreacht. Le haghaidh íoslódáil HTTP phoiblí, is féidir le críochphointe ón liosta seachfhreastalaithe HTTP na luachanna URL sin a sholáthar. Nuair a chríochnaíonn an bloc, cuireann Perl na hiontrálacha roimhe ar ais, lena n-áirítear a n-éagmais roimhe. Is é an toradh system a thaispeántar stádas próisis Perl, ní cód freagartha HTTP díchódaithe.
Tá scóip dhinimiciúil ag local: feiceann cód Perl eile a nglaoitear laistigh den bhloc sin an timpeallacht shealadach freisin. Ní stór dintiúir phríobháideach é in aghaidh na feidhme.
Déan athbhreithniú ar na hathróga oidhreachta ina bhfuil cinnlitreacha agus ar na hathróga seachanta don chliant roghnaithe. Is é an t-íoslódálaí a shocraíonn cé na hionchuir a ídíonn sé. Ní athraíonn socrú seachfhreastalaí féiniúlacht úsáideora an phróisis ach an oiread agus ní éilíonn sé shell root ar leithligh díreach le hoidhreacht a fháil.