use warnings; use strict; use Data::Dumper; my $data = [ { val => "action", acc => "Accounts", id => "None", }, { name => "PA1", id => "AUTOB" }, { name => "PB3", id => "AUTOP" }, { name => "BOX", id => "BOP" }, { name => "DW0", id => "DFIRE" }, { name => "QW3", id => "HOME" }, { name => "CM7", id => "CUMBR" }, { name => "BR1", id => "PUMBR" }, { name => "TY6", id => "ECUST" }, ] ; my @all_names = map { $_->{name} } @{ $data }[1 .. $#$data]; print Dumper(\@all_names); __END__ $VAR1 = [ 'PA1', 'PB3', 'BOX', 'DW0', 'QW3', 'CM7', 'BR1', 'TY6' ];