Using embPerl 2.5.0, porting an application from Ubuntu 12.04, perl 5.14,
Readonly 2.0.0 to Ubuntu 18.04, perl 5.26, Readonly 2.05

If I have a Readonly hash like this:

    [-
      use Readonly;

      Readonly our %LETTERS => {
        "A" => "Letter A",
        "B" => "Letter B",
        "C" => "Letter C"
      }
    -]

and I try to use it like this:

    [$ foreach $letter (keys %LETTERS) $]
      [+ $LETTERS{$letter} +]
    [$ endforeach $]

That works with the older versions and doesn't with the newer.  With the
newer version nothing is output.  If I do something to force it to be
evaluated, like:

   [$ foreach $letter (keys %LETTERS) $]
      [+ eval { $LETTERS{$letter} } +]
    [$ endforeach $]

It does output "LETTER A", etc. in both versions.

Any explanation of what's happening or suggestions on how to best deal with
it?

Reply via email to