匹配字符串

=~运算符尝试将正则表达式(由/分开)与字符串匹配:

my $str = "hello world";
print "Hi, yourself!\n" if $str =~ /^hello/;

/^hello/是实际的正则表达式。^是一个特殊字符,它告诉正则表达式从字符串的开头开始,而不是在中间的某个地方匹配。然后正则表达式试图按顺序找到以下字母 hello

正则表达式尝试匹配默认变量($_),如果裸:

$_ = "hello world";

print "Ahoy!\n" if /^hello/;

你还可以使用不同的分隔符,在正则表达式之前使用 m 运算符:

m~^hello~;
m{^hello}; 
m|^hello|;

这在匹配包含/字符的字符串时很有用:

print "user directory" if m|^/usr|;