$ perl -Mre=debug -E " for( abcd ){ while( m/./g){ say pos; } } " Compiling REx "." Final program: 1: REG_ANY (2) 2: END (0) minlen 1 Matching REx "." against "abcd" 0 <> | 1:REG_ANY(2) 1 | 2:END(0) Match successful! 1 Matching REx "." against "bcd" 1 | 1:REG_ANY(2) 2 | 2:END(0) Match successful! 2 Matching REx "." against "cd" 2 | 1:REG_ANY(2) 3 | 2:END(0) Match successful! 3 Matching REx "." against "d" 3 | 1:REG_ANY(2) 4 <> | 2:END(0) Match successful! 4 Freeing REx: "."