#!/usr/bin/perl use strict; use warnings; my $S = " 45 ee33ee#555+'3210>{579}/8888\"~-099.2:"; for (my $i = 0; $i < length($S); $i++) { pos($S) = $i; print("\n :", (($S =~ m/(\d*\G\d+)/) ? $1 : ''), ": \tptr=$i \tsubstr=", substr($S, $i)); } #### :: ptr=0 substr= 45 ee33ee#555+'3210>{579}/8888"~-099.2: :45: ptr=1 substr=45 ee33ee#555+'3210>{579}/8888"~-099.2: :45: ptr=2 substr=5 ee33ee#555+'3210>{579}/8888"~-099.2: :: ptr=3 substr= ee33ee#555+'3210>{579}/8888"~-099.2: :: ptr=4 substr=ee33ee#555+'3210>{579}/8888"~-099.2: :: ptr=5 substr=e33ee#555+'3210>{579}/8888"~-099.2: :33: ptr=6 substr=33ee#555+'3210>{579}/8888"~-099.2: :33: ptr=7 substr=3ee#555+'3210>{579}/8888"~-099.2: :: ptr=8 substr=ee#555+'3210>{579}/8888"~-099.2: :: ptr=9 substr=e#555+'3210>{579}/8888"~-099.2: :: ptr=10 substr=#555+'3210>{579}/8888"~-099.2: :555: ptr=11 substr=555+'3210>{579}/8888"~-099.2: :555: ptr=12 substr=55+'3210>{579}/8888"~-099.2: :555: ptr=13 substr=5+'3210>{579}/8888"~-099.2: :: ptr=14 substr=+'3210>{579}/8888"~-099.2: :: ptr=15 substr='3210>{579}/8888"~-099.2: :3210: ptr=16 substr=3210>{579}/8888"~-099.2: :3210: ptr=17 substr=210>{579}/8888"~-099.2: :3210: ptr=18 substr=10>{579}/8888"~-099.2: :3210: ptr=19 substr=0>{579}/8888"~-099.2: :: ptr=20 substr=>{579}/8888"~-099.2: :: ptr=21 substr={579}/8888"~-099.2: :579: ptr=22 substr=579}/8888"~-099.2: :579: ptr=23 substr=79}/8888"~-099.2: :579: ptr=24 substr=9}/8888"~-099.2: :: ptr=25 substr=}/8888"~-099.2: :: ptr=26 substr=/8888"~-099.2: :8888: ptr=27 substr=8888"~-099.2: :8888: ptr=28 substr=888"~-099.2: :8888: ptr=29 substr=88"~-099.2: :8888: ptr=30 substr=8"~-099.2: :: ptr=31 substr="~-099.2: :: ptr=32 substr=~-099.2: :: ptr=33 substr=-099.2: :099: ptr=34 substr=099.2: :099: ptr=35 substr=99.2: :099: ptr=36 substr=9.2: :: ptr=37 substr=.2: :2: ptr=38 substr=2: :: ptr=39 substr=: