我有一个CSV文件,其样式如下:
start_var1 val1 val2
abc 12
xyz 23
end_var1 pqr 32
start_var2 val1 val2
abc1 121
xyz1 232
end_var2 pqr1 341
我需要保存值命名为不同的阵列var1_arr
,var2_arr
在下面的模式:
val1(val2)
如果两行之间有任何空行,则不应保存空行,并且每个数组的值应介于start_var
最大之间end_var
。
if ( $columns[0] eq "start_var1" .. $columns[0] eq "end_var1") {
if ( $columns[1] ne "") {
push @var1_arr , "$columns[1]($columns[3])\n";
}
}
根据您的评论,要跳过一行,您可以这样编写:
while (my $line = <$fh>)
{
next if ($line =~ /start_var*/);
#do here whatever you want to do
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句