0

我想使用 perl 运行一系列系统命令。我写了一个for循环

#!/usr/bin/perl
use warnings;
use strict;
foreach my $ichr (1 .. 21){
    system "bedtools intersect -wb -a genes.bed -b chr$ichr.bed > Counts_chr$ichr.txt";
}

我不确定循环是否会将每个命令提交给系统并启动下一个?我希望在下一个开始之前完成一个。(例如,完成 chr1,然后启动 chr2,完成 chr2,然后启动 chr3 等)

我如何确保一个命令完成然后开始下一个命令?

4

1 回答 1

3
perldoc -f system
           Does exactly the same thing as "exec LIST", except that a fork
           is done first and the parent process waits for the child
           process to exit.

因此,该system命令将等待启动的进程完成,然后再继续下一个循环迭代。

于 2013-10-30T12:24:29.347 回答