匹配字串
=~
運算子嘗試將正規表示式(由/
分開)與字串匹配:
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|;