use strict; use warnings; use Data::Dumper; my @foo = qw/1 2 3 4 5 6/; my $href; foreach my $key ( reverse @foo ) { $href = { $key, $href }; } print Dumper $href;