It sounds like you want to be able to call variables by names in the array. You can create a hash which allows you to access a list by name rather than by index. Below code shows how you can create a hash from the array of parameter names.
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";
OUTPUT
DB login: scott/tiger
This will create a hash with parameter names with no values set. You can then set values either by giving the parameter name, similarly you can access the value of the variable by giving it the name of the parameter.
there are other ways you can do this with things like map but i have left them out to keep it simple.
Hopefully this solves your issue is it wasnt quite clear in the question what you were trying to achieve.
XY problemis why you would like to do such thing.