On Fri, May 04, 2001 at 12:24:09PM -0400, Dan Sugalski wrote:
> At 09:14 AM 5/4/2001 -0700, Doug MacEachern wrote:
> >On Fri, 4 May 2001, Artur Bergman wrote:
> > > Can't they be stringified or upgraded in anyway?
> >
> >'can', sure. 'should', no. i'll say it again:
> >data that might be modified at runtime should never have been
> >marked as shared in the first place.
>
> Which means the first time someone prints out a shared integer constant
> things will get odd.
>
> Perl modifies data at runtime in places people don't usually expect, or
> even realize. Seems prudent to take that into account...
Playing with UTF8 and readonly "strings" IIRC
"use" modified the bareword "readonly" string you gave as the module name
[this is op level so you're unlikely to see it]
printing a utf8 encoded "constant" can cause it to be converted to 8 bit
But I suspect Dan's example is more likely to bite.
grep the source for SvREADONLY_off and worry.
Nicholas Clark
PS The choice of whether to worry that such a macro exists, or to worry that
it is actually used in at least 4 places is left as an exercise to the
reader.