use strict; use warnings; for my $str ('1 2 3', 'a b c', ' a3 b2 c1') { next if $str !~ /\w?([0-9])/; my $mpos = $-[0]; my $cpos = $-[1]; print "Found $1 in '$str' at index $cpos. Overall match started at $mpos\n"; } #### Found 1 in '1 2 3' at index 0. Overall match started at 0 Found 3 in ' a3 b2 c1' at index 2. Overall match started at 1