in reply to form checking checkboxes

You can also do this with Data::FormValidator. It might seem a little heavy to do this for just a couple of checkbox fields, but it is really easy to use, and if your form gets any more complex you will appreciate something with the flexibility that this gives you.

use Data::FormValidator; use CGI; my $q = CGI->new; my %profile = ( required => [qw( io )], constraints => { io => 'RE_num_int' # use a Regexp::Common test }, untaint_all_constraints => 1, ); my $results = Data::FormValidator->check($q, \%profile); if ($results->has_invalid or $results->has_missing) { # do something with $results->invalid, $results->missing # or $results->msgs } else { # do something with $results->valid }

This will make sure that all the checkboxes only contain integers, and that the results are untainted. If you need to do a more customized test, you can provide the constraint with an anonymous subroutine that performs the test (untainting will be up to you then).