my ($longest) = reduce { length($a) >= length($b) ? $a : $b } / ( [0-9] (?: (?: (?<=0)1 | (?<=1)2 | (?<=2)3 | (?<=3)4 | (?<=4)5 | (?<=5)6 | (?<=6)7 | (?<=7)8 | (?<=8)9 | (?<=9)0 )+ | (?: (?<=0)9 | (?<=1)0 | (?<=2)1 | (?<=3)2 | (?<=4)3 | (?<=5)4 | (?<=6)5 | (?<=7)6 | (?<=8)7 | (?<=9)8 )+ ) ) /xg;