1
我正在解析一个XML文件,并且在提取一些信息后,我想查看某个特定字段中是否有'/'(斜杠)。所以,我做了下面的代码:
if (defined($orgUIDLookup{$orgUidMid}))
{
my $country = $orgUIDLookup{$orgUidMid};
print "country = $country ";
if ($country !~ ?/?)
{
print "OK\n";
$airportRef{country} = $country;
}
else
{
print "no good\n";
$needHelp = 1;
}
}
但我似乎在他们越来越为节点不一致的结果,以斜线:
grep '^country = .*/' foo
country = CN/MA/RE no good
country = CN/MA/RE OK
country = CN/MA/RE OK
country = CN/MA/RE OK
country = RB/MJ OK
country = RB/MJ OK
country = RB/MJ OK
country = CN/MA/RE OK
country = CN/MA/RE OK
country = RB/MJ OK
country = RB/MJ OK
country = CN/MA/RE OK
country = CN/MA/RE OK
country = RB/MJ OK
country = RB/MJ OK
country = KR/TV OK
country = KR/TV OK
country = KR/TV OK
country = WS/AQ OK
country = AA/NT OK
country = AA/NT OK
country = AA/NT OK
country = AA/NT OK
country = AA/NT OK
country = AA/NT OK
为什么会发生这种测试将经过else
分支ok了第一次,但每隔一次通过if
分支?
我从来没有意识到?是特别的 - 我一直在sed使用它,这意味着我不必逃避斜线。 – 2010-10-18 01:49:53
'm#foo#'真的很不错,并且视觉上与众不同,尽管它打破了一些语法突出显示。 – hobbs 2010-10-18 03:03:53
我曾经使用'm#foo#',直到vim的语法突出显示使我确信'm {}'和's {} {}'更好。 – Ether 2010-10-18 16:59:38