use CGI; use Data::FormValidator; my $cgi = CGI->new; my $validator = Data::FormValidator->new({ 'form_input' => { 'required' => [ qw/ first second clan nick pass repass email reemail street postal city country / ], 'constraints' => { 'email' => 'email', 'pass' => '/^[\w\d\-\ ]{1,}$/', 'reemail' => 'email', 'repass' => '/^[\w\d\-\ ]{1,}$/' }, 'filters' => [ qw/ trim / ] } }); my %params = map { $_ => $cgi->param($_) } $cgi->param(); my ( $valid, $missing, $invalid, $unknown ) = $validator->validate( \%params, 'form_input' );