my @all_names = map { {name => $_->{name}} } @{ $data }[1 .. $#$data];
I just need some explaining in how different one line of code is from another, why wouldn't the name=>"Accounts" be picked up by the code here:
use warnings;
use strict;
use Data::Dumper;
my $data =
[
{
val => "action",
name => "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];
#my @hash_names = map{ {name=>$_} } $data;
my @all_names = map { {name => $_->{name}} } @{ $data }[1 .. $#$data];
print Dumper(\@all_names);
#print Dumper \@hash_names;
__END__
Such a good answers , thanks! |