m// 匹配中的 // 是界定符,实际上可以改写成:m{}, m(), m<>, m[] 等形式,而 m// 这种形式可以去掉 m 并简写成 // ,而使用其它的界定符时应保留 m ,否则语法出错。
下面代码测试匹配开头为 http:// 的行,代码中使用了几种不同的界定符:
[Perl] 纯文本查看 复制代码 #!/usr/bin/perl
chomp ($_ = <STDIN>);
if (/^http:\/\//) {
print "Yes, it match a url.(use //)\n";
} else {
print "Not match a url.\n";
}
if (m{^http://}) {
print "Yes, it match a url.(use {})\n";
} else {
print "Not match a url.\n";
}
if (m<^http://>) {
print "Yes, it match a url.(use <>)\n";
} else {
print "Not match a url.\n";
}
运行输出:# ./mmatch.pl
http://www.groad.net
Yes, it match a url.(use //)
Yes, it match a url.(use {})
Yes, it match a url.(use <>) |