带重复分隔符(逗号)的perl拆分问题

问题描述 投票:0回答:0

我对重复分隔符(逗号)有疑问

字符串输入

abc : {A=[2, 2, 2], B=x, C=[1, 1, 1, 1], D=1}

我的代码

if ($_ =~ /^(\w+)\s+:\s+\{(\S+=.*)\}/)
{
  my $attr_struct = $1; 
  my $sub_attr_struct = $2;
  $sub_attr_struct =~ s/,\s+/,/g;
  my @sub_attr_struct_split = split(',',$sub_attr_struct);
  foreach my $attr (@sub_attr_struct_split)
   {
    print "$attr_struct".".$attr\n";  
   }
 }

预期产出是

abc.A=2:2:2
abc.B=x
abc.C=1:1:1:1 
abc.D=1
perl split
© www.soinside.com 2019 - 2024. All rights reserved.