use strict; use warnings; use Data::Dumper; my @array_names = qw (a b c d e f); my %arrays = ( ); for my $name (@array_names) { $arrays{$name} = [ $name ]; } printf "I've now got these arrays: %s\n", Dumper(\%arrays);