foreach my $regex (@conversions) { my @results = ( $buffer =~ s/$regex->{from}/$regex->{to}/g ); my $reps_done = 0; grep { $reps_done += $_ } @results; $regex->{count} += $reps_done; } ## and do whatever with the result print OUT $buffer;