printf "%s, %s\n", $user->[$_]->{last_name}, $user->[$_]->{first_name} for 0..5; printf "%s, %s\n", @{$user->[$_]}{ qw/last_name first_name/ } for 0..5; # using a hash slice # or, if going through all rows: printf "%s, %s\n", $_->{last_name}, $_->{first_name} for @$user; printf "%s, %s\n", @{$_}{ qw/last_name first_name/ } for @$user;