And, in some cases, you may want to use
eq instead of relying on a regex.
In this case, I can't reproduce your success when using all lc letters in the $strings... which is what I was trying to do as Brother toolic posted the excellent explanation that metachars, such as parens, have to be escaped (see perlre for more). But note also, below, the use of the qr in creating $str1
#!/usr/bin/perl
use strict;
use warnings; # "use Diagnostics;" might help you, too.
# 948631
my $str1 = qr/hi\(/; # Note use of qr here; see perldoc perlre or p
+erlretut
# Escaped paren; no more complaints from the r
+egex engine
my $str2 = "hi"; # All lc did NOT work until the paren was esca
+ped
if ($str2 =~ $str1) {
print "Match: Yes\n";
} else {
print "Match: No\n";
}
say "Now, using 'eq'";
if ($str2 eq $str1) {
print "Match: Yes\n";
} else {
print "Match: No\n";
}