我有一个Perl脚本,可以在其中添加预筛选器。perl表达式&&和eq
if ($row->{'category'} eq 'Software') { return undef; }
这个按预期工作。
但如果我这样做
if ($row->{'category'} eq 'Software' && $row->{'title'} =~ m/EDU|OLP|Molp|MOLP|Media/) { return undef; }
我无法得到它的工作。我没有得到任何错误。
我花了最后一小时在线寻找解决方案,但我似乎无法找到它。我也试过and
而不是&&
。
这是如果你提供你所期望的匹配和不匹配什么样的数据,这将帮助$row
$VAR1 = {
'manufacturer_model' => 'FQC-02310 ',
'junk' => '42.03',
'manufacturer' => 'Microsoft ',
'model' => 'MSWIN81 ',
'price' => '28.02',
'title' => 'Win Pro SA EDU NL ',
'category' => 'Software ',
'stock' => '251'
};
你可以显示'Data :: Dumper'对'$ row'的看法吗? – choroba 2013-03-14 12:12:11
我已经添加了翻车机的输出.. – naf 2013-03-14 12:35:01
显然,正如我在评论中所说的那样,'category'字段在文本后面有多个空格。你正在错误地填充结构。请显示生成此散列的代码。 – Borodin 2013-03-14 12:38:21