Works for me.
$ perl -E'say "pl" =~ /p.{1,6}/'
1
$ perl -E'say "pl" =~ /p.{2,6}/'
$ perl -Mre=debugcolor -E'say "pl" =~ /p.{1,6}/'
Compiling REx "p.{1,6}"
Final program:
1: EXACT <p> (3)
3: CURLY {1,6} (6)
5: REG_ANY (0)
6: END (0)
anchored "p" at 0 (checking anchored) minlen 2
Guessing start of match in sv for REx "p.{1,6}" against "pl"
Found anchored substr "p" at offset 0...
Guessed: match at offset 0
Matching REx "p.{1,6}" against "pl"
0 <pl>| 1:EXACT <p>(3)
1 <pl>| 3:CURLY {1,6}(6)
REG_ANY can match 1 times out of 6..
+.
2 <pl>| 6: END(0)
Match successful!
1
Freeing REx: "p.{1,6}"
$ perl -Mre=debugcolor -E'say "pl" =~ /p.{2,6}/'
Compiling REx "p.{2,6}"
Final program:
1: EXACT <p> (3)
3: CURLY {2,6} (6)
5: REG_ANY (0)
6: END (0)
anchored "p" at 0 (checking anchored) minlen 3
Freeing REx: "p.{2,6}"
Perhaps you have additional characters in your input? Try
Devel::Peek::Dump or
uniquote to make them visible.