http://qs321.pair.com?node_id=11135858


in reply to How to create a new array with the same name as an existing one in a loop?

Insofar as I understand what you want to do, this might be one way:

Win8 Strawberry 5.8.9.5 (32) Sun 08/15/2021 14:00:28 C:\@Work\Perl\monks >perl use strict; use warnings; use Data::Dump qw(dd); my %current_main_record; for my $x (qw(foo bar baz)) { my $ar_role_records; # new array ref. for my $y (qw(zip zap zop)) { push @$ar_role_records, "$x:$y"; } push @{ $current_main_record{'role_data'} }, $ar_role_records; } dd \%current_main_record; ^Z { role_data => [ ["foo:zip", "foo:zap", "foo:zop"], ["bar:zip", "bar:zap", "bar:zop"], ["baz:zip", "baz:zap", "baz:zop"], ], }
See Perl Data Structures Cookbook.

Update:

... I am trying to add an array to a list ... an array of hashes.
Maybe this is closer to what you want:
Win8 Strawberry 5.8.9.5 (32) Sun 08/15/2021 17:43:06 C:\@Work\Perl\monks >perl use strict; use warnings; use Data::Dump qw(dd); my %current_main_record; for my $k (qw(a b c)) { my @role_records; # new array for my $v (qw(Z Y)) { push @role_records, { $k => $v }; } push @{ $current_main_record{'role_data'} }, \@role_records; } dd \%current_main_record; ^Z { role_data => [ [{ a => "Z" }, { a => "Y" }], [{ b => "Z" }, { b => "Y" }], [{ c => "Z" }, { c => "Y" }], ], }


Give a man a fish:  <%-{-{-{-<