Yamamoto's Laboratory
 
コマンド
 
 
 
 

Perlコマンド

Perl を使う上での基本事項を説明します.

目次


コマンド

他のプロセスの実行

バックォートを使う方法

これは,単純な方法で,実行したいコマンドをバッククォートで囲む方法です.標準出力の結果が戻り値になります.次のようにすると,「ls -a」で表示されるディレクトリー内のファイル名とサブディレクトリー名を取得し,表示させることができます.

#!/usr/bin/perl

$ret = `ls -a`;              # バッククォートで囲んで実行
@list = split(/\s+/, $ret);

foreach(@list){
    print "$_\n";
}

system()を使う方法

これは,子プロセスを生成します.perl の実行プロセスは,子プロセスが終了するまで待機します.戻り値は,その実行コマンドの戻り値になります.子プロセスの標準出力の結果を取り込むことはできません.

#!/usr/bin/perl

$ret = system("ls -a");     # 戻り値は通常は 0

exec()を使う方法

これは,perl の実行プロセスを,execでのコマンドのプロセスに置き換えます.したがって,perl のプロセスに戻ることはありません.execのコマンドの実行に失敗した場合のみ,perlのプロセスに戻ります.

#!/usr/bin/perl

exec("ls -a");
printf "commad failure\n";   # 通常は実行されない

参考文献・WEBサイトなど



no counter