in reply to numbers masking

$ perl -le' my @numbers = ( "541321069873210200", "5413 21069873210200" ); my $start_at = 6; my $end_digits = 4; for ( @numbers ) { print; my @digits; push @digits, \substr $_, $-[0], 1 while /[0-9]/g; splice @digits, 0, $start_at; splice @digits, -$end_digits; $$_ = "X" for @digits; print; } ' 541321069873210200 541321XXXXXXXX0200 5413 21069873210200 5413 21XXXXXXXX0200