system


system LIST

 プログラムを実行して、exitステータスを返します。exitステータスからexit値を取得する場合は256で割って下さい。
 引数が2つ以上ある場合は、引数の1つ目が実行したいプログラム名になり、2つ目以降がプログラムの引数になります。シェルのメタ文字が含まれていても展開はされません。
 引数が1つの場合は、引数にシェルのメタ文字があるかどうかを調べて、メタ文字がある場合はシェルを介してプログラムを実行します。この時はシェルによってメタ文字が展開されます。メタ文字がない場合は直接プログラムを実行します。

サンプルプログラム

# 引数が2つ以上ある場合の例
my @cmd = ('perl', 'hoge.pl');
my $ret = system @cmd;
if ($ret != 0) {
	print "error [$ret]\n";
}

# 引数が1つでメタ文字がある場合
my $cmd = 'perl hoge.pl > result.txt';
my $ret = system $cmd;

# 引数が1つでメタ文字がない場合
my $cmd = 'perl hoge.pl';
my $ret = system $cmd;

関連項目

コマンド実行結果の標準出力と標準エラー出力をそれぞれ取得する
・exec関数
qxクオート演算子