In CoolĀ§

See primary documentation in context for routine wordcase

sub wordcase(Str(Cool$input:&filter = &tclcMu :$where = True)
method wordcase(:&filter = &tclcMu :$where = True)

Coerces the invocant (or in sub form, the first argument) to Str, and filters each word that smartmatches against $where through the &filter. With the default filter (first character to upper case, rest to lower) and matcher (which accepts everything), this title-cases each word:

say "raku programming".wordcase;        # OUTPUT: Ā«Raku Programmingā¤Ā»

With a matcher:

say "have fun working on raku".wordcase(:where({ .chars > 3 }));
                                        # Have fun Working on Raku

With a customer filter too:

say "have fun working on raku".wordcase(:filter(&uc), :where({ .chars > 3 }));
                                        # HAVE fun WORKING on RAKU

In StrĀ§

See primary documentation in context for routine wordcase

multi sub    wordcase(Cool $x  --> Str)
multi sub    wordcase(Str:D $x --> Str)
multi method wordcase(Str:D: :&filter = &tclcMu :$where = True --> Str)

Returns a string in which &filter has been applied to all the words that match $where. By default, this means that the first letter of every word is capitalized, and all the other letters lowercased.