Looks like a bug to me, whatever special casing .... doesn't happen the same way with grep
$ perl -Mre=debug -le " @F = qw( a b c DBIC A B C DANCER a b c ); for(
+@F){print if /DBIC/.. /DANCER/ and ! // } "
Compiling REx "DBIC"
Final program:
1: EXACT <DBIC> (3)
3: END (0)
anchored "DBIC" at 0 (checking anchored isall) minlen 4
Compiling REx "DANCER"
Final program:
1: EXACT <DANCER> (4)
4: END (0)
anchored "DANCER" at 0 (checking anchored isall) minlen 6
Compiling REx ""
Final program:
1: NOTHING (2)
2: END (0)
minlen 0
Guessing start of match in sv for REx "DBIC" against "DBIC"
Found anchored substr "DBIC" at offset 0...
Guessed: match at offset 0
Guessing start of match in sv for REx "DBIC" against "DBIC"
Found anchored substr "DBIC" at offset 0...
Guessed: match at offset 0
A
B
C
Guessing start of match in sv for REx "DANCER" against "DANCER"
Found anchored substr "DANCER" at offset 0...
Guessed: match at offset 0
Guessing start of match in sv for REx "DANCER" against "DANCER"
Found anchored substr "DANCER" at offset 0...
Guessed: match at offset 0
Freeing REx: "DBIC"
Freeing REx: "DANCER"
Freeing REx: ""
|
$ perl -Mre=debug -le " @F = qw( a b c DBIC A B C DANCER a b c ); prin
+t for grep { /DBIC/.. /DANCER/ and ! // } @F; "
Compiling REx "DBIC"
Final program:
1: EXACT <DBIC> (3)
3: END (0)
anchored "DBIC" at 0 (checking anchored isall) minlen 4
Compiling REx "DANCER"
Final program:
1: EXACT <DANCER> (4)
4: END (0)
anchored "DANCER" at 0 (checking anchored isall) minlen 6
Compiling REx ""
Final program:
1: NOTHING (2)
2: END (0)
minlen 0
Guessing start of match in sv for REx "DBIC" against "DBIC"
Found anchored substr "DBIC" at offset 0...
Guessed: match at offset 0
Guessing start of match in sv for REx "DBIC" against "DBIC"
Found anchored substr "DBIC" at offset 0...
Guessed: match at offset 0
Matching REx "" against "A"
0 <> <A> | 1:NOTHING(2)
0 <> <A> | 2:END(0)
Match successful!
Matching REx "" against "B"
0 <> <B> | 1:NOTHING(2)
0 <> <B> | 2:END(0)
Match successful!
Matching REx "" against "C"
0 <> <C> | 1:NOTHING(2)
0 <> <C> | 2:END(0)
Match successful!
Guessing start of match in sv for REx "DANCER" against "DANCER"
Found anchored substr "DANCER" at offset 0...
Guessed: match at offset 0
Guessing start of match in sv for REx "DANCER" against "DANCER"
Found anchored substr "DANCER" at offset 0...
Guessed: match at offset 0
Freeing REx: "DBIC"
Freeing REx: "DANCER"
Freeing REx: ""
|