in reply to backreference on hash
Careful about using a hash for this, as the keys are unordered order of the keys is undefined. It isn't wrong; it just has the potential for unexpected surprises if order of the replacements is important.
Let's say you have a set of two regexes in your hash: { a => 'b', b => 'c'}. If the 'a' key is used first, you will end up with no 'b' values in your results. OTOH, if the 'b' key is used first, you might (if 'a' exists in the contents of $line).
'abacus' => 'ccccus' # a => b, then b => c 'abacus' => 'bcbcus' # b => c, then a => b
A 'better' solution for this might be an array of arrays (AoA), with the patterns in the order that you wish to apply them: ( [ a => 'b' ], [ b => 'c' ] ), and then stepping through the set of replacements in the expected order.
--MidLifeXis
|
|---|