s/(?<=\d)(?=(?:\d{3})+\b)/$sep/g; #### substr($n, pos($n), 0) = $sep while ($n =~ /\d(?=(?:\d{3})+\b)/g); #### substr($n, -($_*3 + ($_-1)*length($sep)), 0) = $sep for (1..int((length($n)-1)/3));