我有須狀行的文件工作,Perl的拆分與逗號
<tag host="xyz|abc" some info />
<tag host="ijk,cdf" some info />
我通過使用模式匹配得到主機的信息,我想分裂的主機的價值。由於某些原因,即使看起來正確,以下代碼似乎也不適用於逗號。
if($line =~ m/(\s\S)*host=\"(\S+)\"(\s\S)*/)
{
($val) = ($2);
$val=~tr/!$()//ds;
my @values;
if($val =~ m/((\S+)\|(\S+))*/)
{
@values=split('\|',$val);
}
else
{
@values=split(',',$val);
}
#Perform some action on Values.
}
任何人都可以幫助我嗎?提前致謝。
什麼是您的輸入是什麼樣子? – squiguy
爲什麼把它分解成一個'if-else'?爲什麼不在逗號或管道上分割(例如'split/[,\ |] /,$ val;')? – vol7ron