my $str = "abc"; while ($str =~ m/.(?=.|$)/gc) { say "1: ", pos $str; } while ($str =~ m/.(?=.|$)/gc) { say "2: ", pos $str; }