Perl中有match操作符的一个简单版本- ?PATTERN?运算符。这与m //运算符基本相同,除了它在每次调用重置之间搜索的字符串内仅匹配一次。
例如,您可以使用它来获取列表中的第一个和最后一个元素-
#!/usr/bin/perl @list = qw/food foosball subeo footnote terfoot canic footbrdige/; foreach (@list) { $first = $1 if /(foo.*?)/; $last = $1 if /(foo.*)/; } print "First: $first, Last: $last\n";
执行以上程序后,将产生以下结果-
First: foo, Last: footbrdige