我是Perl的初学者,遇到了以下问题,
我有一个文本文件,包含不同字符串的值,例如 ExAC_SAS = 1; word = 0.01 ; ExAC_EAS = 0; ExAC_FIN = 1; ExAC_NFE = 0; word = 0.0136 ;
我想将两个值都添加到数组中。
我试图遍历文件并将这些值添加到数组中,并且效果很好,但它只会添加第一个值,而不添加第二个值。
while ($line=<IN>)
{ chop $line; @result=();
@arr=split('\t', $line);
if ($arr[7]=~/word=(.*?);/) {push (@result,$1);}
我希望数组@result具有以下值:
1,0.01,0,1,0,0.136
谢谢
答案 0 :(得分:0)
使用此cli:
perl -lne 'push @a,/=(.*?)\;/g;END{print "@a"}' your_file
测试如下:
$ cat temp
C_SAS=1;word=0.01;ExAC_EAS=0;ExAC_FIN=1;ExAC_NFE=0;word=0.0136;
$ perl -lne 'push @a,/=(.*?)\;/g;END{print "@a"}' temp
1 0.01 0 1 0 0.0136
$