Thanks. This is a correct answer. I consider that this was then a bug, but not in ActivePerl, rather in my perception that you have corrected by your mail.
Thanks again Peter -----Original Message----- From: Jan Dubois [SMTP:[EMAIL PROTECTED]] Sent: 2002. januar 10. 6:43 To: Arms, Mike Cc: 'Peter Verhas'; [EMAIL PROTECTED] Subject: Re: Bug in ActivePerl? On Mon, 7 Jan 2002 10:54:41 -0700, "Arms, Mike" <[EMAIL PROTECTED]> wrote: >I confirm the problem as Peter states it. I tested under >three environments. Results were: > >Environment Output >----------- ------ >Win2K, ActivePerl 5.6.1 (628) q1 p1 q p >Cygwin, Perl 5.6.1 q1 p1 q1 p >Solaris 2.7, Perl 5.6.1 q1 p1 q1 p > >Jan, is this a known ActivePerl bug with regards to the >'o' regex modifier? This "behavior" is known: it is a side effect of using the USE_ITHREADS options when compiling (Active)Perl. For threadsafty reasons, regular expressions using variable interpolations are *always* recompiled. Note that /o is only an optimization switch; you are not supposed to alter any variables afterwards. From `perldoc perlop`: | However, mentioning "/o" constitutes a | promise that you won't change the variables in the pattern. If you break that promise, you are subjecting your code to undefined behavior. Having said all this, the ITHREADS code in Perl 5.7.x has been changed so that regex interpolation is threadsafe and /o will work again when ActivePerl is based on Perl 5.8. Changing it right now is not possible for binary compatibility reasons. -Jan _______________________________________________ ActivePerl mailing list [EMAIL PROTECTED] http://listserv.ActiveState.com/mailman/listinfo/activeperl