Perl版本:5.8使用ActivePerl。Perl开关语句中使用Reg表达式的问题
我试图插入reg表达式作为perl中switch语句的单独条件,但失败了。
你能告诉我更多关于如何解决?
我抬头看每个文档,找不到这种例子。谢谢。
while (my $line =<$fh>) { # change foreach to while
switch ($line) {
case ($line =~ m/\<IDCateA\sName="(\w+)\"\sid="(\w+)\"\s/) {print " $1 = $2,\n";}
case ($line =~ m/\<IDCateB\sName="(\w+)\"\sid="(\w+)\"\s/) {print " $1 = $2,\n";}
}
my $nextline = <$fh>;
}
的数据,因为这的一部分,
<IDCateA Name="SystemAlpha" id="0" units="" min="0" max="8" default="0" value="3"/>
<IDCateB Name="SystemBeta" id="1" units="" min="0" max="2" default="0" value="0"/>
我更新我的职务与Perl版本:V5。 8。谢谢。 – 2011-05-06 01:40:55
@Nano:我想你会从'case'部分删除那些'$ line =〜',因为匹配应该针对你打开的任何东西进行。 – tchrist 2011-05-06 01:46:55
我按照你的指导和测试,但不工作。语法错误。请参阅键盘http://codepad.org/Yur9HGKh – 2011-05-06 02:14:34