My guess: Perl is looking for exact strings from both ends, your regexes include a trailing "b" but your string $futile doesn't
This simplified demo seems to support my theory
D:\tmp\pm>perl -Mre=debug -E"'aaaa' =~/a*a*b/"
Compiling REx "a*a*b"
synthetic stclass "ANYOF[ab]".
Final program:
1: STAR (4)
2: EXACT <a> (0)
4: STAR (7)
5: EXACT <a> (0)
7: EXACT <b> (9)
9: END (0)
floating "b" at 0..9223372036854775807 (checking floating) stclass ANY
+OF[ab] min
len 1
Matching REx "a*a*b" against "aaaa"
Intuit: trying to determine minimum start position...
doing 'check' fbm scan, [0..4] gave -1
Did not find floating substr "b"...
Match rejected by optimizer
Freeing REx: "a*a*b"
please note Did not find floating substr "b"... Match rejected by optimizer
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|