- - PR -
perl + open関数について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-01 16:36
お世話になります。
perlスクリプトについて質問いたします。 open関数を利用して、外部コマンドを実行する必要があるのですが そのコマンドの戻り値を取得するにはどうすればよいのでしょうか? シェルであれば ls /aaa echo $? でよいかと思いますが、perl + open関数で 同じ事を実現する方法がわかりません。 $ret = open( CMD, "ls /aaa |"); ??? ご存知の方、ご教示願います。 | ||||
|
投稿日時: 2006-06-01 16:47
openなの?
execじゃないの? | ||||
|
投稿日時: 2006-06-01 17:02
openでやりたい何かがあるのでしょう。
試してないですが、たぶん動くんじゃないかと。 ちなみにgoogleにて「perl open コマンド 実行」で検索。所用時間10秒。 時間があったら検索技術も身に付けてみてはいかがでしょう? | ||||
|
投稿日時: 2006-06-01 17:33
プロセスの終了コードはパイプ(今回は「ls /aaa|」)を閉じた時点
(=プロセスが終了した時点)で返ってきますから、 close のマニュアルを見るとよいかと。 $ perldoc -f close の「Example:」によると、closeを実行した後に $? に Exit status (=終了コード)が格納されているようです。
| ||||
|
投稿日時: 2006-06-02 05:51
あまり試してませんが、こんな感じ?
マニュアルの該当個所 perlfunc - close perlvar perlfunc - open |
1