The Str class defines a pair of methods—starts-with and ends-with—that check whether the string contains a given substring at the beginning or end of it, and return a Boolean value. Consider the following example, which displays the behavior of these methods:
say 'Hello, World'.starts-with('Hello'); # True say 'Hello, World'.starts-with('World'); # False
say 'Hello, World'.ends-with('Hello'); # False say 'Hello, World'.ends-with('World'); # True
Regular expressions can be used instead of starts-with and end-with; refer to Chapter 11, Regexes, for the details.
Another set of functions—index, rindex, and indices—find the substring and return its position. The index method finds the most left occurrence of the substrings, rindex searches from the end of the strings, and indices returns a list of indices of all occurrences of the substring.
my $town = 'Baden-Baden';
say $town.index('Baden'); # 0 say $town.rindex('Baden'); # 6 say $town.indices('Baden'); # (0 6)
It is worth noting that, while the rindex method searches from the end of the string, it returns an index of the character that is counted from left to right.