#!/usr/bin/perl use Data::Dumper; $var = [ { x => 1 }, { y => 2 }, { z => 3 } ]; my %res; foreach my $v (@{$var}) { my ($k) = keys %$v; $res{$k} = $v->{$k}; } print Dumper \%res;