export ધરાવતો backtick આદેશ ફક્ત તે આદેશ માટે બનાવેલા શેલને બદલે છે. શેલ બહાર નીકળે ત્યારે પેરેન્ટ 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;
}

બાળ પ્રક્રિયા local કરેલા મૂલ્યો વારસામાં મેળવે છે. જાહેર HTTP ડાઉનલોડ માટે HTTP પ્રોક્સી સૂચિનું એક એન્ડપોઇન્ટ તે URL મૂલ્યો આપી શકે છે. બ્લોક પૂરો થાય ત્યારે Perl અગાઉની એન્ટ્રીઓ પુનઃસ્થાપિત કરે છે, તેમની અગાઉની ગેરહાજરી સહિત. દર્શાવેલું system પરિણામ Perl ની પ્રક્રિયા સ્થિતિ છે, ડિકોડ કરેલો HTTP પ્રતિભાવ કોડ નહીં.

local ગતિશીલ વ્યાપ ધરાવે છે: તે બ્લોકની અંદર બોલાવેલો અન્ય Perl કોડ પણ કામચલાઉ પર્યાવરણ જોઈ શકે છે. તે પ્રતિ કાર્ય ખાનગી ઓળખપત્ર સંગ્રહ નથી.

પસંદ કરેલા ક્લાયન્ટ માટે વારસામાં મળેલા મોટા અક્ષરોના અને બાયપાસ ચલોની સમીક્ષા કરો. કયા ઇનપુટનો ઉપયોગ થશે તે ડાઉનલોડર નક્કી કરે છે. પ્રોક્સી સેટિંગ પ્રક્રિયાની વપરાશકર્તા ઓળખ પણ બદલતું નથી અને ફક્ત વારસામાં મળવા માટે અલગ root શેલની જરૂર પણ નથી.

સંબંધિત લેખો