DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14850>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14850

Search gets frozen for a pattern

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID



------- Additional Comments From [EMAIL PROTECTED]  2002-11-26 14:24 -------
Although the behavior is not desirable, it is not quite a bug.  Both Perl
5.003_07 and Perl-5.005.03 behave the same way.  For example:

perl5.003_07/perl -e  '@foo=<STDIN>; $bar=join("", @foo); print "$bar"; if (
$bar =~ /package( +)((\w+|\W+)+)( +)is( +|\n)/) { print "MATCH!\n"; }' < foo.txt

and

perl-5.005.03/perl -e  '@foo=<STDIN>; $bar=join("", @foo); print "$bar"; if (
$bar =~ /package( +)((\w+|\W+)+)( +)is( +|\n)/) { print "MATCH!\n"; }' < foo.txt

where foo.txt contains:

----------------------------------
package "dlfk"."isam" is
 isa varchar2(10);
 
procedure isa_as;
end;
----------------------------------

This will be fixed as we move to Perl 5.6 compatibility, but right now, we
do the same as Perl 5.00x.

It is important to remember that regular expressions are state machines and
are not guaranteed to terminate.  You have to craft reasonable expressions
that do not result in excessive or even infinite backtracking and recursion.
The problem is easily solved by simplifying the regular expression to the
more accurate:
  package( +)((\w|\W)+)( +)is( +|\n)
Notice how (\w+|\W+)+ is equivalent to (\w|\W)+ in what it matches.  The
expression can be further simplified because "\w|\W" is equivalent to "."

We would rather you ask for help on oro-dev before using the bug reporting
system.

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to