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 }