Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: ASP

Apache::ASP v2.11 Parser optimization broke under perl 5.6.1

 

 

ModPerl asp RSS feed   Index | Next | Previous | View Threaded


joshua at chamas

Jul 11, 2001, 12:44 PM

Post #1 of 3 (1449 views)
Permalink
Apache::ASP v2.11 Parser optimization broke under perl 5.6.1

Hey perl porters & Apache::ASP list:

This parser optimization, released in Apache::ASP 2.11,
broke Apache::ASP under perl 5.6.1 ( + 5.7.1 I'm guessing
from a cpan-testers FAIL report )

sub Apache::ASP::ParseHelper {
...
while($$data =~ /(.*?)\<\%(.*?)\%\>/gso) {

putting back in the old code made things work again,
so I'll have to resurrect this in 2.15:

while($$data =~ s/^(.*?)\<\%(.*?)\%\>//gso) {

This functionality is documented in perldoc perlop,
and seems to no longer work in perl 5.6.1:

In scalar context, each execution of m//g finds
the next match, returning TRUE if it matches, and
FALSE if there is no further match. The position
after the last match can be read or set using the
pos() function; see the pos entry in the perlfunc
manpage. A failed match normally resets the
search position to the beginning of the string,
but you can avoid that by adding the /c modifier
(e.g. m//gc). Modifying the target string also
resets the search position.

Thanks,

Josh

_________________________________________________________________
Joshua Chamas Chamas Enterprises Inc.
NodeWorks <- Web Link Checking Huntington Beach, CA USA
http://www.nodeworks.com 1-714-625-4051

---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe [at] perl
For additional commands, e-mail: asp-help [at] perl


gsar at ActiveState

Jun 11, 2001, 8:03 PM

Post #2 of 3 (1347 views)
Permalink
Re: Apache::ASP v2.11 Parser optimization broke under perl 5.6.1 [In reply to]

On Wed, 11 Jul 2001 12:44:01 PDT, Joshua Chamas wrote:
>Hey perl porters & Apache::ASP list:
>
>This parser optimization, released in Apache::ASP 2.11,
>broke Apache::ASP under perl 5.6.1 ( + 5.7.1 I'm guessing
>from a cpan-testers FAIL report )
>
>sub Apache::ASP::ParseHelper {
> ...
> while($$data =~ /(.*?)\<\%(.*?)\%\>/gso) {
>
>putting back in the old code made things work again,
>so I'll have to resurrect this in 2.15:
>
> while($$data =~ s/^(.*?)\<\%(.*?)\%\>//gso) {

I quote from perl-5.6.1.announce:

:Known Issues
:----------------------------------------------------------------------------
:
:Issues that arise with Perl releases are fixed as they become known to us.
:Individual patches to problems in Perl 5.6.1 (referenced by patch numbers
:below) are usually available here:
:
: http://public.ActiveState.com/gsar/APC/5.6.2/diffs/
:
:Patches that affect the same files should be applied in order, using the
:GNU patch utility. For example:
:
: cd perl-5.6.1
: gzip -cd 1234.gz | patch -lNp1
:
:Please be aware that, in general, these patches are NOT as thoroughly
:tested as the release itself. Use at your own risk.
:
:The following issues have come to light since Perl 5.6.1 was released:
:
: + A somewhat obscure case of overeager optimization in the regular
: expression engine has been reported. The problem may affect you
: if you are matching unanchored patterns with the C</sg> modifiers
: and without also using the C<\G> escape. Patch 9675 cures this
: problem by reverting the optimization.

So I think you may want to try:

http://public.ActiveState.com/gsar/APC/5.6.2/diffs/9675.gz

HTH,


Sarathy
gsar [at] ActiveState

---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe [at] perl
For additional commands, e-mail: asp-help [at] perl


gsar at ActiveState

Jun 11, 2001, 8:03 PM

Post #3 of 3 (1361 views)
Permalink
Re: Apache::ASP v2.11 Parser optimization broke under perl 5.6.1 [In reply to]

On Wed, 11 Jul 2001 12:44:01 PDT, Joshua Chamas wrote:
>Hey perl porters & Apache::ASP list:
>
>This parser optimization, released in Apache::ASP 2.11,
>broke Apache::ASP under perl 5.6.1 ( + 5.7.1 I'm guessing
>from a cpan-testers FAIL report )
>
>sub Apache::ASP::ParseHelper {
> ...
> while($$data =~ /(.*?)\<\%(.*?)\%\>/gso) {
>
>putting back in the old code made things work again,
>so I'll have to resurrect this in 2.15:
>
> while($$data =~ s/^(.*?)\<\%(.*?)\%\>//gso) {

I quote from perl-5.6.1.announce:

:Known Issues
:----------------------------------------------------------------------------
:
:Issues that arise with Perl releases are fixed as they become known to us.
:Individual patches to problems in Perl 5.6.1 (referenced by patch numbers
:below) are usually available here:
:
: http://public.ActiveState.com/gsar/APC/5.6.2/diffs/
:
:Patches that affect the same files should be applied in order, using the
:GNU patch utility. For example:
:
: cd perl-5.6.1
: gzip -cd 1234.gz | patch -lNp1
:
:Please be aware that, in general, these patches are NOT as thoroughly
:tested as the release itself. Use at your own risk.
:
:The following issues have come to light since Perl 5.6.1 was released:
:
: + A somewhat obscure case of overeager optimization in the regular
: expression engine has been reported. The problem may affect you
: if you are matching unanchored patterns with the C</sg> modifiers
: and without also using the C<\G> escape. Patch 9675 cures this
: problem by reverting the optimization.

So I think you may want to try:

http://public.ActiveState.com/gsar/APC/5.6.2/diffs/9675.gz

HTH,


Sarathy
gsar [at] ActiveState

--cebakomogomoiadmjlcj--
ReSent-Date: Fri, 29 Jun 2001 14:50:30 -0700 (PDT)
ReSent-From: Ask Bjoern Hansen <ask [at] valueclick>
ReSent-To: <asp [at] perl>
ReSent-Subject: Re: Apache::ASP v2.11 Parser optimization broke under perl
5.6.1
ReSent-Message-ID: <Pine.LNX.4.33.0106291450300.18561 [at] impatience>

On Wed, 11 Jul 2001 12:44:01 PDT, Joshua Chamas wrote:
>Hey perl porters & Apache::ASP list:
>
>This parser optimization, released in Apache::ASP 2.11,
>broke Apache::ASP under perl 5.6.1 ( + 5.7.1 I'm guessing
>from a cpan-testers FAIL report )
>
>sub Apache::ASP::ParseHelper {
> ...
> while($$data =~ /(.*?)\<\%(.*?)\%\>/gso) {
>
>putting back in the old code made things work again,
>so I'll have to resurrect this in 2.15:
>
> while($$data =~ s/^(.*?)\<\%(.*?)\%\>//gso) {

I quote from perl-5.6.1.announce:

:Known Issues
:----------------------------------------------------------------------------
:
:Issues that arise with Perl releases are fixed as they become known to us.
:Individual patches to problems in Perl 5.6.1 (referenced by patch numbers
:below) are usually available here:
:
: http://public.ActiveState.com/gsar/APC/5.6.2/diffs/
:
:Patches that affect the same files should be applied in order, using the
:GNU patch utility. For example:
:
: cd perl-5.6.1
: gzip -cd 1234.gz | patch -lNp1
:
:Please be aware that, in general, these patches are NOT as thoroughly
:tested as the release itself. Use at your own risk.
:
:The following issues have come to light since Perl 5.6.1 was released:
:
: + A somewhat obscure case of overeager optimization in the regular
: expression engine has been reported. The problem may affect you
: if you are matching unanchored patterns with the C</sg> modifiers
: and without also using the C<\G> escape. Patch 9675 cures this
: problem by reverting the optimization.

So I think you may want to try:

http://public.ActiveState.com/gsar/APC/5.6.2/diffs/9675.gz

HTH,


Sarathy
gsar [at] ActiveState

--cebakomogomoiadmjlcj--


---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe [at] perl
For additional commands, e-mail: asp-help [at] perl

ModPerl asp RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.