# Jeffa rows => [ map {{ cols => [ map { { data => defined $_ ? encode_entities $_ : ' ' } } @$_ ] }} @$row ], # becomes -{diotalevi}-> my ($row, $value); for $row (@$rows) { for $value(@$row) { $value = { data => defined($value) ? encode_entities($value) : ' ' }; } $row = { cols => $row }; } # and later rows => \@rows