#!/usr/bin/perl use 5.020; use experimental 'signatures'; use Test::More; sub digits( $S, $pos ) { pos($S) = $pos; return ($S =~ m/\b(\d*\G\d*)\b/c) ? $1 : undef; } is digits( 'Hello World 123456 !!! 789 ...', 14 ), '123456', "In middle"; is digits( '12345 World 123456 !!! 789 ...', 14 ), '123456', "No digits before"; is digits( '12345 World 123456 !!! 789 ...', 17 ), '123456', "At end"; is digits( '12345 World 123456 !!! 789 ...', 12 ), '123456', "At start"; done_testing;