Unha shell filla non pode exportar un proxy de volta a Perl
Defina o ENV de Perl directamente e localice as variables de proxy arredor dunha invocación filla para que os valores orixinais volvan despois.
Un comando con acento grave que contén export só cambia a shell creada para ese comando. Cando a shell remata, o proceso Perl pai conserva o seu entorno anterior.
Defina no seu lugar o hash de entorno de Perl. local pode manter o cambio dentro dun bloque:
{
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;
}
A filla herda os valores localizados. Para unha descarga HTTP pública, un punto final da lista de proxies HTTP pode fornecer eses valores de URL. Cando o bloque remata, Perl restaura as entradas anteriores, incluída a súa ausencia previa. O resultado de system que se mostra é o estado do proceso de Perl, non un código de resposta HTTP descodificado.
local ten ámbito dinámico: outro código Perl chamado dentro dese bloque tamén ve o entorno temporal. Non é un almacén privado de credenciais por función.
Revise as variables herdadas en maiúsculas e de omisión para o cliente escollido. É o descargador quen decide que entradas consume. Un axuste de proxy tampouco cambia a identidade de usuario do proceso nin esixe unha shell root separada só por ser herdado.