in reply to The Name Game

Well, you did ask (sort of), so:

$myform->{'name'}=~s/(\w)(\w+)/\u$1\L$2/; ## You can use perl's builtin functions to do the job: $myform->{'name'}=ucfirst(lc($myform->{'name'});

You could also replace:

my @letters=split(//, $myform->{'name'}); while($letters[0]!~/^[aeiouy]/i){ last if scalar(@letters)==0; shift @letters; } $myform->{'left'}=join("", @letters); ## with: ($myform->{'left'}=$myform->{'name'}) =~ s/$[^aeiouy]+//;