Я работаю над сценарием Perl, в котором пользователь добавляет несколько установленных переменных в начале сценария, все с префиксом $XX
, как показано ниже Пользовательские переменные, однако, должны пройти через короткую функцию преобразования, чтобы очистить их.
Есть ли способ запустить подпрограмму для всех переменных с префиксом $XX
?
my $XXvar1 = "something";
my $XXvar2 = "something";
my $XXvar3 = "something";
my $XXvar4 = "something";
sub processVar {
my $fixVar = $_[0];
# Do stuff
return $fixVar;
}
# This obviously doesn't work. Use some kind of loop or something? How...
$XXvar* = processVar($XXvar*);
Edit:
Я пытаюсь сделать это сейчас с помощью хэша, в соответствии с некоторыми предложениями в Google:
my %XX;
$XX{var1} = "something 1";
$XX{var2} = "something 2";
$XX{var3} = "something 3";
$XX{var4} = "something 4";
Затем я могу работать с ключами и значениями в for
или while
циклах. Однако как я могу переназначить каждую переменную преобразованной в цикле?
Редактировать еще раз:
Понял. Этот цикл for
успешно обрабатывает все переменные:
for my $key ( keys %XX ) {
$XX{$key} = processVar($XX{$key});
}
Я определенно собираюсь сейчас сделать файл конфигурации, как предложено ниже. Теперь я просто должен это выяснить:)