my %params = $q->Var; for (keys(%params)) { if ($_ =~ /add_(\d+)/) { $quantity{$1} += $q->param($1); } if ($_ =~ /subtract_(\d+)/ { $quantity{$1} -= $q->param($1); } }