|We don't bite newbies here... much
Re: $1[by demerphq (Chancellor)
|on Feb 06, 2019 at 12:28 UTC
Both of these are reasonable solutions to the problem at hand.
IMO there is a lot of discussion about red-herrings in this thread. That it happens inside of a s/// is a red-herring, the RHS of a s/// is essentially the same as a dq string, at least when not using the /e modifier. That this happens with $1 is a red-herring, it would happen with any named scalar followed by a square bracket in a double quoted string. That this happens with a square bracket is also a red-herring, it would also happen with any suffix which changed the name of the var sufficient to make perl think you were referring to another variable. This is why perl supports the bracketed version in the first place, to make it absolutely clear what variable is being interpolated and not be victim to stray concatenation that might change its name.