曲径通幽论坛

标题: 使用 m// 匹配 [打印本页]

作者: beyes    时间: 2011-9-26 14:05
标题: 使用 m// 匹配
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 <>)





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2