... sub get_data { my $data = shift; my ($$one_num, $$account_num, $name, $new_name, $plano, $passdate, $todays_date, $descont, $firm, $value, $thetotal, $commited) ; my $c = -1; my @AoA; foreach my $infs (@{ $data->{ info } }) { $c++; $one_num = $infs->{ $one_num }, $account_num = $infs->{ $account_num }, $name = $infs->{ name }, $new_name = $infs->{ new_name } || ' ', $plano = $infs->{ plano } || ' ', $passdate = $infs->{ passdate }, $todays_date = $infs->{ todays_date }, $descont = $infs->{ descont }, $firm = $infs->{ firm }, $value = $infs->{ value }, $thetotal = $infs->{ premium }, $commited = $infs->{ commited }; push @{ $AoA[$c] },$$one_num, $$account_num, $name, $new_name, $plano, $passdate, $todays_date, $descont, $firm, $value, $thetotal, $commited; } #print Dumper \@AoA; return @\@AoA; } my $alldata= get_data(); print Dumper $alldata; ...