use strict; use warnings; my @email = ( 'someone@example.co.uk', 'andrew.test@some.company.co.uk', 'jo@abc.com', ); foreach my $em(@email) { print "$em - "; $em =~ /^(\w[\w.])(.*)(\@\w\w)(.*)(\.\w+)$/; $em = $1 . '.' x length($2) . $3 . '.' x length($4) . $5; print "$em\n"; }