在=~操作者试图匹配一个正则表达式(由分开设置/)为一个字符串:
my $str = "hello world"; print "Hi, yourself!\n" if $str =~ /^hello/;
/^hello/是实际的正则表达式。本^是一个特殊的字符,告诉正则表达式开始与字符串的开头和中间的某个地方无法比拟的。然后正则表达式尝试按顺序查找以下字母h, e, l, l, 和o。
正则表达式尝试匹配默认变量 ( $_) 如果是空的:
$_ = "hello world"; print "Ahoy!\n" if /^hello/;
如果您在正则表达式之前使用m运算符,您还可以使用不同的分隔符:
m~^hello~; m{^hello}; m|^hello|;
这在匹配包含/字符的字符串时很有用:
print "user directory" if m|^/usr|;