В зависимости от того, что вы подразумеваете под «упрощенным», вы можете рассмотреть что-то вроде этого (если вы уверены, что ни $ f, ни $ v не могут содержать ','
):
foreach my $f ($query->param) {
foreach my $v ($query->param($f)) {
switch ("$f,$v") {
case "a,1" { code; }
case "a,2" { code; }
case "a,3" { code; }
case "b,1" { code; }
case "b,2" { code; }
case "c,1" { code; }
case "c,2" { code; }
case "c,3" { code; }
case "c,4" { code; }
}
}
}
(Я предполагаю, что все вхождения code;
на самом деле разные.)