#!/usr/bin/perl -- use strict; use warnings; use Data::Dump qw/ dd /; # sub dd { use Data::Dumper; print Data::Dumper->new([@_])->Sortkeys(1)->Indent(1)->Useqq(1)->Dump . "\n"; } my @feet = qw/ left right /; my @shoes = qw/ loader sneaker boot /; my @things; dd { feet => \@feet, shoes => \@shoes, things => \@things }; push @shoes, qw/ slippers /; dd { feet => \@feet, shoes => \@shoes, things => \@things }; push @things, \@feet, \@shoes; dd { feet => \@feet, shoes => \@shoes, things => \@things }; #### { feet => ["left", "right"], shoes => ["loader", "sneaker", "boot"], things => [], } { feet => ["left", "right"], shoes => ["loader", "sneaker", "boot", "slippers"], things => [], } do { my $a = { feet => ["left", "right"], shoes => ["loader", "sneaker", "boot", "slippers"], things => ['fix', 'fix'], }; $a->{things}[0] = $a->{feet}; $a->{things}[1] = $a->{shoes}; $a; }