join ' ', map {ucfirst} split / /, shift; #### join ' ', map { s/^(.)/\U$1/; $_ } split / /, shift #### (my $f=shift)=~s/(^| )(\w)/$1\U$2/g; # Doing it with lookbehind gets a little ugly: # s/(?:(?<=^)|(?<= ))(\w)/\U$1/g; $f;
## join ' ', map { s/^(.)/\U$1/; $_ } split / /, shift ##
## (my $f=shift)=~s/(^| )(\w)/$1\U$2/g; # Doing it with lookbehind gets a little ugly: # s/(?:(?<=^)|(?<= ))(\w)/\U$1/g; $f;