The no warnings qw/syntax/; line seems unnecessary. Is there a reason for it?
For this program, that line doesn't serve any purpose. But then, neither do the two lines above - yet you aren't inquiring about them. The first six lines are generated
whenever I type ^A-P
(two chars), and I don't bother
to remove the last line if it happens to occur in a program
where it's unnecessary.
Trying to answer my own question I did re-implement your solution with simple tied scalars, and found no functional difference,
The fact that the entire word is replaced with identical characters didn't strike you as a functional difference?
In this specific case, you could get away with using tied
scalars if you also used /e
, but if letters had
to be replaced with a random letter enclosed in parenthesis, using a tied has would lead to:
while you would need something like:
which, while it has less characters, is less obvious, IMO.