JSAWS seems to be running without strictures (and
warnings?) enabled, so the OPed code seems to be using
honest-to-goodness symbolic references.
Win8 Strawberry 5.8.9.5 (32) Fri 11/20/2020 12:19:01
C:\@Work\Perl\monks
>perl
# strictures and warnings not enabled
$n = 99;
${ foo . $n } = 'zot';
print $foo99;
^Z
zot
This is the general case in these circumstances (and one of the
motivations for the creation of
strict).
Update: The { } brackets in ${ foo . $n } are required
for disambiguation. The statement
$foo . $n = 'zot';
produces a very different result.
Give a man a fish: <%-{-{-{-<