Here is a snippet that I used in
Quick Memos, that some of your Business-Oriented customers might find useful someday:
my($username1,$username2)=($username)x2;
$username1 =~ s/([a-z])([a-z]+)_([a-z])([a-z]+)\@.*/$1/g;
$username2 =~ s/([a-z])([a-z]+)_([a-z])([a-z]+)\@.*/$3/;
$username1 =~ tr/[a-z]/[A-Z]/;
$username2 =~ tr/[a-z]/[A-Z]/;
$username =~ s/([a-z])([a-z]+)_([a-z])([a-z]+)/$username1$2 $username2
+$4/;
This will break an apart an email addresss of the form: first_name@domain.whatever and change it into the form:
First Name.
Looking back, I could have also done it like this:
$username =~ s/([a-z])([a-z]+)_([a-z])([a-z]+)\@.*/uc($1).$2." ".uc($3
+).$4/ge;
Thats slightly more (complic|obfusc)ated, but it still gets the job done.