my @returned_data; while (my $row = $data_handle->fetchrow_hashref()) { push (@returned_data, { 'name' => $row->{NAME}, 'city' => $row->{CITY}, 'state' => $row->{STATE}, }); } $data_handle->finish; print $q->header(-type => "application/json", -charset => "utf-8"); my $json = encode_json \@returned_data; print $json;