in reply to Readonly oddity
There is now a new release, VERSION 2.01, of Readonly that addresses the problems in the original post. On closer examination it turned out that while
Readonly my @baz = (qw/glug argh/); Readonly my %h = (key => 42);
initialized variables with the right values, the resulting variables were not read only and could be modified unlike variables correctly initialized with the '=>' operator. So the new patch/release disallows initialization by assignment with a 'croak' message.
An issue was opened and now closed for the concern in this post: Readonly GitHub issue 18. It turns out that Readonly has old issues on rt.cpan.org as well as new issues on GitHub. There actually was a ticket for the posted problem on rt.cpan.org but I didn't know enough to check there when I searched. The rt ticket 86086 may now be closed AFAICT.