Это звучит, как вы хотите, чтобы иметь возможность вызывать переменные имена в массиве. Вы можете создать хэш, который позволяет вам получить доступ к списку по имени, а не по индексу. Ниже код показывает, как вы можете создать хэш из массива имен параметров.
use strict;
use warnings;
my @parameter_list = ("admin_name", "admin_pass", "customer_id", "email", "domains", "subdomains", "aliases", "emails", "ftps", "sqldbs", "sqlusers", "space");
my %parameters;
foreach my $parameter (@parameter_list){
$parameters{$parameter} = undef;
}
$parameters{'admin_name'}='scott';
$parameters{'admin_pass'}='tiger';
print "DB login: $parameters{'admin_name'}/$parameters{'admin_pass'}\n";
ВЫВОД
DB login: scott/tiger
Это создаст хэш с именами параметров, не имеющее значения, установленным. Затем вы можете установить значения, указав имя параметра, аналогично вы можете получить доступ к значению переменной, указав ей имя параметра.
Есть другие способы сделать это с помощью таких вещей, как карта, но я оставил их, чтобы они были простыми.
Надеюсь, это решит вашу проблему, поскольку в вопросе о том, чего вы пытались достичь, не было совершенно ясно.
Официальный ответ на вопрос 'XY' * почему * вы хотели бы сделать такую вещь. –
Я могу повторно использовать этот список параметров в другом месте в коде вместо этого или переписать его снова. – Johniboy
звучит так, будто вам нужно положить их в хэш, тогда вы можете назвать их по имени. –