我有以下文件:如何僅在while循環內的文件的一行中訪問值?
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];
}
}
太模糊了一個問題。請描述你正在努力做的更清楚! – Jean
我編輯的問題,使其更清晰!謝謝。 – vitor