Переменные среды Perl

Peremennye Sredy Perl



В языках сценариев оболочки можно использовать два типа переменных: одни — переменные оболочки, а другие — переменные среды. Переменные среды работают как глобальные переменные для языков сценариев. Данные, относящиеся к среде, которые используются для выполнения сценария, хранятся в переменных среды. Эти переменные хранятся на основе пары ключ-значение. Имя переменной определяется ключом, в котором хранится значение переменной. Значение любой переменной среды может быть установлено или доступно с помощью сценария Perl. В этом руководстве показаны методы доступа и изменения переменных среды с помощью сценария Perl.

Использование переменных среды в Perl-скрипте

В этой части руководства показаны методы доступа к определенным или всем переменным среды и сброс любой переменной среды.







Пример 1. Печать определенных переменных среды



Переменные среды хранятся в массиве %ENV, который работает как ассоциативный массив. Имя переменной является ключом массива %ENV, и значение сохраняется в этом конкретном ключе. Создайте файл Perl с помощью следующего сценария, который печатает три переменные среды. Текущее имя пользователя для входа хранится в переменной $ENV{’USER’}. Текущее значение оболочки хранится в переменной $ENV{’SHELL’}. Текущий рабочий каталог хранится в переменной $ENV{’PWD’}. Доступ к этим трем переменным осуществляется и печатается в сценарии.



#!/локальный/bin/perl

используйте строгий;
использовать предупреждения;
используйте 5.34.0;

#Распечатываем значения трех переменных среды
сказать 'Имя пользователя' . $ЕНВ { 'ПОЛЬЗОВАТЕЛЬ' } ;
сказать 'Текущая оболочка' . $ЕНВ { 'ОБОЛОЧКА' } ;
сказать 'Текущий рабочий каталог: ' . $ЕНВ { «Люди с ограниченными возможностями» } ;





Выход:

После выполнения скрипта появляется следующий аналогичный вывод:



Пример 2. Печать первых пяти переменных среды

Создайте файл Perl с помощью следующего сценария, чтобы прочитать первые пять значений массива %ENV, содержащего все переменные среды. Здесь цикл foreach используется для чтения всех переменных среды на основе отсортированных значений ключей. Переменная «$counter» используется в сценарии для завершения цикла после печати пяти переменных среды. Переменная «$counter» увеличивается на каждой итерации цикла, и когда значение «$counter» равно 5, для выхода из цикла выполняется «последний» оператор.

#!/локальный/bin/perl

используйте строгий;
использовать предупреждения;
используйте 5.34.0;

#Инициализируем счетчик
мой $счетчик '=' 0 ;
#Итерируем цикл для чтения всех переменных среды
для каждого ( Сортировать ключи % ЕНВ ) {
#Читаем имя переменной среды
мой $ключ '=' $_ ;
#Читаем значение переменной среды
мой $значение '=' $ЕНВ { $ключ } ;
#Распечатываем имя переменной со значением
сказать ' $ключ => $значение ' ;
#Увеличиваем счетчик
$счетчик ++;
#Проверяем значение счетчика
если ( $счетчик > '=' 5 )
{
#Выходим из цикла
последний ;
}
}

Выход:

После выполнения скрипта появляется следующий аналогичный вывод:

Пример 3. Сброс переменной среды

В предыдущих примерах доступ к предопределенным значениям переменных среды осуществляется индивидуально и с использованием цикла. Однако значение любой переменной среды можно изменить с помощью сценария Perl. Создайте файл Perl с помощью следующего сценария, который печатает местоположение HOME, меняет его на «/temp/files» и снова печатает местоположение HOME после обновления.

#!/локальный/bin/perl

используйте строгий;
использовать предупреждения;
используйте 5.34.0;


#Распечатываем значение конкретной переменной среды
сказать «Текущая стоимость ДОМА составляет » . $ЕНВ { 'ДОМ' } ;

#Сброс переменной среды
$ЕНВ { 'ДОМ' } '=' '/temp/файлы' ;

#Распечатываем значение конкретной переменной среды после обновления
сказать «Текущая стоимость ДОМА составляет » . $ЕНВ { 'ДОМ' } ;

Выход:

После выполнения скрипта появляется следующий аналогичный вывод:

Пример 4. Печать переменных среды с форматированием

Создайте файл Perl с помощью следующего сценария, который печатает переменные среды с форматированием с помощью функции printf(). Здесь цикл foreach используется для чтения всех переменных среды, как в предыдущем примере. Пара ключ-значение переменной среды печатается путем добавления двоеточия (:) между ключом и значением и сохранения пробела в 15 символов для ключа.

#!/локальный/bin/perl

используйте строгий;
использовать предупреждения;
используйте 5.34.0;

#Итерируем цикл для чтения всех переменных среды
foreach мой ( Сортировать ключи % ЕНВ ) {
#Распечатываем отформатированный вывод переменных среды
печать ( '%15s : %s \п ' , , $ЕНВ { } ) ;
}

Выход:

Следующий аналогичный вывод появляется после выполнения сценария. Некоторые части в начале вывода показаны здесь:

Заключение

Переменные среды используются для разных целей, и иногда требуется изменить текущее значение конкретной переменной среды для каких-либо целей программирования. Методы получения и установки значений переменных среды с помощью сценария Perl показаны в примерах этого руководства, чтобы помочь пользователям Perl.