#!/usr/bin/env perl use utf8; ############################################################################### # This program demonstrates basic string functions. # # Copyright © 2020 Richard Lesh. All rights reserved. ############################################################################### use strict; use warnings; MAIN: { binmode(STDOUT, ":utf8"); binmode(STDERR, ":utf8"); binmode(STDIN, ":utf8"); my $ALPHABET = "abcdefghijklmnopqrstuvwxyzabc"; my $GREEK_ALPHABET = "αβγδεζηθικλμνξοπρσςτυφχψωαβγ"; my $EMOJI = "😃😇🥰🤪🤑😴🤒🥵🥶🤯🥳😎😥😱😡🤬💀👽🤖😺🙈🙉🙊😃😇🥰"; print "Length: ", length($ALPHABET), "\n"; print "charAt(17): ", substr($ALPHABET, 17, 1), "\n"; print "codePointAt(17): ", ord(substr($ALPHABET, 17, 1)), "\n"; print "substr(23, 26): ", substr($ALPHABET, 23, 3), "\n"; print "prefix(6): ", substr($ALPHABET, 0, 6), "\n"; print "right_tail(6): ", substr($ALPHABET, 6), "\n"; print "suffix(6): ", substr($ALPHABET, -6), "\n"; print "find(\'def\'): ", index($ALPHABET, "def"), "\n"; print "find(\'def\') is not found: ", (index($ALPHABET, "def") == -1), "\n"; print "find(\'bug\'): ", index($ALPHABET, "bug"), "\n"; print "find(\'bug\') is not found: ", (index($ALPHABET, "bug") == -1), "\n"; print "rfind(\'abc\'): ", rindex($ALPHABET, "abc"), "\n"; print "rfind(\'abc\') is not found: ", (rindex($ALPHABET, "abc") == -1), "\n"; print "rfind(\'bug\'): ", rindex($ALPHABET, "bug"), "\n"; print "rfind(\'bug\') is not found: ", (rindex($ALPHABET, "bug") == -1), "\n"; print "Length: ", length($GREEK_ALPHABET), "\n"; print "charAt(17): ", substr($GREEK_ALPHABET, 17, 1), "\n"; print "codePointAt(17): ", ord(substr($GREEK_ALPHABET, 17, 1)), "\n"; print "substr(23, 26): ", substr($GREEK_ALPHABET, 23, 3), "\n"; print "prefix(6): ", substr($GREEK_ALPHABET, 0, 6), "\n"; print "right_tail(6): ", substr($GREEK_ALPHABET, 6), "\n"; print "suffix(6): ", substr($GREEK_ALPHABET, -6), "\n"; print "find(\'δεζ\'): ", index($GREEK_ALPHABET, "δεζ"), "\n"; print "find(\'δεζ\') is not found: ", (index($GREEK_ALPHABET, "δεζ") == -1), "\n"; print "find(\'bug\'): ", index($GREEK_ALPHABET, "bug"), "\n"; print "find(\'bug\') is not found: ", (index($GREEK_ALPHABET, "bug") == -1), "\n"; print "rfind(\'αβγ\'): ", rindex($GREEK_ALPHABET, "αβγ"), "\n"; print "rfind(\'αβγ\') is not found: ", (rindex($GREEK_ALPHABET, "αβγ") == -1), "\n"; print "rfind(\'bug\'): ", rindex($GREEK_ALPHABET, "bug"), "\n"; print "rfind(\'bug\') is not found: ", (rindex($GREEK_ALPHABET, "bug") == -1), "\n"; print "Length: ", length($EMOJI), "\n"; print "charAt(16): ", substr($EMOJI, 16, 1), "\n"; print "codePointAt(16): ", ord(substr($EMOJI, 16, 1)), "\n"; print "substr(20, 24): ", substr($EMOJI, 20, 4), "\n"; print "prefix(6): ", substr($EMOJI, 0, 6), "\n"; print "right_tail(6): ", substr($EMOJI, 6), "\n"; print "suffix(6): ", substr($EMOJI, -6), "\n"; print "find(\'😱😡🤬\'): ", index($EMOJI, "😱😡🤬"), "\n"; print "find(\'😱😡🤬\') is not found: ", (index($EMOJI, "😱😡🤬") == -1), "\n"; print "find(\'bug\'): ", index($EMOJI, "bug"), "\n"; print "find(\'bug\') is not found: ", (index($EMOJI, "bug") == -1), "\n"; print "rfind(\'😃😇🥰\'): ", rindex($EMOJI, "😃😇🥰"), "\n"; print "rfind(\'😃😇🥰\') is not found: ", (rindex($EMOJI, "😃😇🥰") == -1), "\n"; print "rfind(\'bug\'): ", rindex($EMOJI, "bug"), "\n"; print "rfind(\'bug\') is not found: ", (rindex($EMOJI, "bug") == -1), "\n"; }