我有以下文件:
10001;02/07/98;;PI;M^12/12/59^F^^SP^09/12/55
;;;;;M1|F1|SP1;11;10;12;10;12;11;1.82;D16S539
;;;;;M1|F1|SP1;8;8;8;8;10;8;3.45;D7S820
;;;;;M1|F1|SP1;14;12;12;11;14;11;1.57;D13S317
;;;;;M1|F1|SP1;12;12;13;12;13;8;3.27;D5S818
;;;;;M1|F1|SP1;12;12;12;12;12;8;1.51;CSF1PO
.
.
.
$indiv[0]
当我运行下面的代码时,我会为文件的每一行打印一个值(在本例中为:) M1M1M1M1M1M1...
。我只想使用其中一个值,它可能是第一个、最后一个等。我知道我可以print $indiv[0]
在循环外使用并获取最后一个,但事实并非如此,print
这里只是一个示例,我需要将该值用于循环内的其他计算。
那么,我怎样才能只访问一个值(仅一行),并将其保留在 while 循环中?
提前致谢!
#!usr/bin/perl
use warnings;
use strict;
my @indiv = ();
open FILE, $ARGV[0] or die $!;
while (<FILE>) {
chomp;
my @field = split /;/;
if ($field[0] eq '') {@indiv = split /\|/, $field[5];
print $indiv[0];
}
}