$d =~ s/(\d\d)(?=\d)/$1-/g; #### 1 while $d =~ s/(?<=\d\d)(?=\d)/-/; #### $d = reverse($d); $d =~ s/(?<=\d)(?=(\d\d)+$)/-/g; $d = reverse($d);