# Code readability improvement - phase 2 sub get_data { my $data = shift; my @AoA; my @keys_that_I_care_about = qw( one_num account_num name new_name plano passdate todays_date descont firm value thetotal commited ); my @keys_that_need_a_default_value = qw( new_name plano ); my $default_value = " "; foreach my $infs ( @{$data->{ info }} ) { my %infs_copy; $infs_copy{$_} = $infs->{$_} for @keys_that_I_care_about; $infs_copy{$_} = $default_value for @keys_that_need_a_default_value; push @AoA, [ @infs_copy{@keys_that_I_care_about} ]; } #print Dumper \@AoA; return \@AoA; } my $alldata= get_data(); print Dumper $alldata;