in reply to Check substitute digit

perl -le '@arr=qw(5 52 523 5234 52341);foreach $a (@arr) { $a=join "_" +,split //,$a,(length($a)>3)?3:length($a) if length($a) < 5 and length +($a)>1;print $a} '

output
5
5_2
5_2_3
5_2_34
52341


~suhail