my $mask = "NN"; foreach my $item (LARGE_LIST) { $key = property($item); my $val = $record{ $key } || pack $mask, 0,0; my ($count, $flag) = unpack $mask, $val; $count++; $flag ||= condition_is_true($item); $record{ $key } = pack $mask, $count, $flag; }