use strict; my $my_name = "august ferdinand mobius"; $my_name =~ s/\b(\w)/\U$1/g; print $my_name; #prints August Ferdinand Mobius #### sub replace { my($text, $pattern, $replacement, $modifiers) = @_; (my $result = $text) =~ s/$pattern/$replacement/$modifiers; return $result; } #### $my_name = replace("august ferdinand mobius","\b(\w)","\U$1","igs"); #### use strict; my $x = "august ferdinand mobius"; my $y = replace($x, '\b(\w)', '\U$1', 'igs'); print $y; sub replace { my($text, $pattern, $replacement, $modifiers) = @_; my $result = ''; eval '($result = $text)'."=~ s/$pattern/$replacement/$modifiers"; return $result; }