my %opts = ( bandwidth => { err => 'Your Chosen Bandwidth Option Does Not Appear To Be Valid. Contact Support For Assistance.', match => qr/^15|0$/, }, support => { err => 'Your Chosen Support Option Does Not Appear To Be Valid. Contact Support For Assistance.', match => qr/^2|0$/, } # etc etc. ); my $error = ''; while (my ($name,$check) = each(%opts)) { unless ($q->param($name) =~ $check->{match}) { $error .= "
$check->{err}
\n"; } } if ($error) { print_error($error); }