Either the code shown is not the code you ran, you ran it without strictures, or you ignored the warnings generated.
Using strictures is laudable. Ignoring the results of using strictures is dumb. Not telling us that you received warnings when running your code is dumb too.
The great big fat hints you should have seen and pondered were:
Use of uninitialized value in transliteration (tr///) at noname.pl lin +e 9, <DATA> line 1. Use of uninitialized value in concatenation (.) or string at noname.pl + line 10, <DATA> line 1.
Note that I used a __DATA__ (see the Special Literals sub-section) section rather than using an external file for the test code so the line numbers will differ somewhat from yours.
In reply to Re: Problem using transliteration to modify a variable...
by GrandFather
in thread Problem using transliteration to modify a variable...
by cgmd
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |