He said (and I think he meant) 5 to 10 FIVE digit zip codes. And I think he was just going to hard code those zip codes in the script. So perhaps something like:
#!/usr/local/bin/perl -l -w
use strict;
use CGI;
my @zips = qw(
92714
92715
92716
);
my %zips;
@zips{@zips} = ();
my $q = CGI->new;
print $q->header;
print $q->start_html;
if (my $zip = $q->param('zip')) {
print "<br>You entered $zip";
my $valid = (exists $zips{$zip}) ? 'valid' : 'invalid';
print "<br>It is $valid";
} else {
print $q->start_form;
print $q->textfield(-name=>"zip");
print $q->submit("Go");
print $q->end_form;
}
print $q->end_html;
Update: Ok, so you can get rid of the hash and replace 'exists $zip{$zips}' with
'grep { $_ eq $zip } @zips' (see my benchmarks further down this thread), although if you were to port this to mod_perl or the like I'd stick with a hash (though it'd be defined differently) :-)