use CGI;
@array1 = param('datalist1');
@array2 = param('datalist2');
@array3 = param('datalist3');
If you could make that instead:
my %data = map { $_ => [param $_] } qw(datalist1 datalist2 datalist3);
Then we can compare their lengths with:
sub compare {
my @lengths = map { scalar @{$data{$_}} } qw(datalist1 datalist2 dat
+alist3);
my $first = shift @lengths;
$first == $_ or return 0 for @lengths;
return 1;
}
See how much easier? Regularity in variable
names is almost always
a sign that they should be part of a larger structure instead.
-- Randal L. Schwartz, Perl hacker