use strict; use warnings; my $val1 = 5234; my @digits = split(//,$val1); my $string = join ('_',@digits); $string =~ s/_(\d)$/$1/ if @digits == 4; print $string, "\n"; #prints 5_2_34 # #$val1 5234 prints 5_2_34 #$val1 52 prints 5_2 #$val1 523 prints 5_2_3