In Str§

See primary documentation in context for method starts-with

multi method starts-with(Str:D: Str(Cool$needle:i(:$ignorecase), :m(:$ignoremark--> Bool:D)

Returns True if the invocant is identical to or starts with $needle.

say "Hello, World".starts-with("Hello");     # OUTPUT: «True␤» 
say "https://raku.org/".starts-with('ftp');  # OUTPUT: «False␤»

Since Rakudo version 2020.02, if the optional named parameter :ignorecase, or :i, is specified, the comparison of the invocant and $needle ignores the distinction between uppercase, lowercase and titlecase letters.

say "Hello, World".starts-with("hello");              # OUTPUT: «False␤» 
say "Hello, World".starts-with("hello":ignorecase); # OUTPUT: «True␤»

Since Rakudo 2020.02, if the optional named parameter :ignoremark, or :m, is specified, the comparison of the invocant and $needle only considers base characters, and ignores additional marks such as combining accents.

say "abc".starts-with("ä");              # OUTPUT: «False␤» 
say "abc".starts-with("ä":ignoremark); # OUTPUT: «True␤»