使用perl访问字符串中的重复值

时间:2019-01-11 10:49:38

标签: perl

我是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

谢谢

1 个答案:

答案 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
$