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