$ perl -le' my @x = ( 5234, 523, 52, 5 ); my $limit = 2; for my $x ( @x ) { print $x; my $y = $limit; $x =~ s/(?<=\d)(?=\d)/ $y-- ? "_" : "" /eg; print $x; } ' 5234 5_2_34 523 5_2_3 52 5_2 5 5