Hi,
that could be the same issue mentioned some time ago on the list regarding
output of udat or using functions like substr in [+ +] blocks. Maybe Readonly
does some magic in the background.
Please look at the archive for more information.
Our fix: [+ do { $udat{foo} } +]
With best regards,
Dirk Melchers
/// IT/Software-Entwicklung ///
--
NUREG GmbH ///
Dorfäckerstraße 31 | 90427 Nürnberg | Germany
Tel. +49-911-32002-256 | Fax +49-911-32002-299
Mobil +49-172-9354670 | www.nureg.de
Nürnberg HRB 22653 | USt.ID DE 814 685 653
Geschäftsführer: Michael Schmidt, Stefan Boas
> Am 17.09.2019 um 17:22 schrieb Chuck Zumbrun <[email protected]>:
>
> 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?
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]