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クオート演算子