#$valids is an array reference returned by HTML::FormValidator my @error; foreach (@$valids) { #%error_msg contains something like "first => "First name is too long " #%error_length contains something like "first => 45" push @error, { message => $error_msg{$_} } if $_ >= $error_length{$_} };