Solutions: Regular expressions
- has a 'q' /q/
- starts with a 'q' /^q/
- has 'th' /th/
- has an 'q' or a 'Q' /[qQ]/
- has a * in it /\*/
- another solution: /[*]/
- starts with an 'q' or an 'Q' /^[qQ]/
- has both 'a' and 'e' in it $str =~ /a/ and $str =~ /e/
- has an 'a' and somewhere later an 'e' /a.*e/
- does not have an 'a' $str !~ /a/ Not good: /[^a]/
- does not have an 'a' nor 'e' $str !~ /[ae]/
- has an 'a' but not 'e' $str =~ /a/ and $str !~ /e/
- has at least 2 consecutive vowels (a,e,i,o,u) like in the word "bear" /[aeiou]{2}/
- has at least 3 vowels **/[aeiou].*[aeiou].*[aeiou]/**
- has at least 6 characters /....../
- another solution: /.{6}/
- yet another solution: length($str) >= 6
- has at exactly 6 characters: length($str) == 6
- all the words with either 'Bar' or 'Baz' in them /Ba[rz]/
- all the rows with either 'apple pie' or 'banana pie' in them if ($row =~ /apple pie/ or $row =~ /banana pie/){ }
- for each row print if it was apple or banana pie?
my $ok;
if ($row =~ /apple pie/) {
print "apple\n";
$ok = 1;
} elsif ($row =~ /banana pie/) {
print "banana\n";
$ok = 1;
}