while ('abc' =~ /(.)/g) {
print($1);
}
####
while ('abc' =~ /(?=(.))/g) {
print($1);
}
####
$_ = 'abc';
while (/
( (?=.) )
(?{ printf("pos=%d len=%d\n", pos($_), length($1)); })
/xg) {
print("Match\n");
}
print("\n");
while (/
( . )
(?{ printf("pos=%d len=%d\n", pos($_), length($1)); })
/xg) {
print("Match\n");
}
####
pos=0 len=0
Match
pos=0 len=0 # Same pos & len as last pass -> No match.
pos=1 len=0
Match
pos=1 len=0 # Same pos & len as last pass -> No match.
pos=2 len=0
Match
pos=2 len=0 # Same pos & len as last pass -> No match.
pos=1 len=1
Match
pos=2 len=1
Match
pos=3 len=1
Match