my $str = '4512872356698'; $str =~ s/^\d{6}\K\d+(?=\d{4})/'X' x ($+[0] - $-[0])/e; print "$str\n";