如果在前面的討論中已經回答了這個問題,我對perl很抱歉並且道歉。我有一個需要使用循環外聲明的變量的腳本,但只有一個迴路工作,儘管我已經聲明在循環外部變量,代碼:Perl while while循環不起作用
my $sample;
open(IN, 'ls /*_R1_*.gz |');
while (my $sample = <IN>) {
chomp $sample;
print "sample = $sample\n";
my $fastq1="${sample}"; #need to use fastq1 later on hence it's declared here
my $sample2;
open(IN, 'ls /*_R2_*.gz |');
while (my $sample2 = <IN>) {
chomp $sample2;
print "sample2 = $sample2\n";
my $fastq2="${sample2}"; #need to use fastq2 later on hence it's declared here
}
}
樣本2的作品,但SAMPLE1呢不,只有第一個樣本輸出,然後循環進至SAMPLE2,輸出爲:
sample =/sample1_R1_001.fastq.gz
sample2 =/sample1_R2_001.fastq.gz
sample2 =/sample2_R2_001.fastq.gz
sample2 =/sample3_R2_001.fastq.gz
等。
任何人都可以想出解決辦法?
感謝
您的預期產量是多少? – darch 2013-02-19 16:40:23