説明
Perlで外部コマンドを実行するには通常system()を使いますが、その結果を取り込んでPerlで処理する必要が出てきてsystem()ではうまくいきませんでした。
少し調べたところ、単にコマンドをバッククォートでくくれば結果が取れることが分かりました。
そういえば普段はopen()の第2パラメータにコマンドを指定しているのを思い出しました。
既出かもしれませんが、備忘録として両方の手順を書いておきます。
コメント

- 2:l-w-i
- 2007/10/11 16:53
>
おっしゃるとおりです。
なので`ps
きちんと書くならやはり入り口で出力データを絞るということですよね。
ご指摘ありがとうございます。

- 3:ゲスト
- 2007/10/27 17:06
my
でもOKですね。
ただ、1行の値として読み込んでしまうので、
複数行を標準出力に出力するコマンドの場合は、
注意が必要です。

- 4:l-w-i
- 2007/10/27 23:21
>
こんな方法もあるんですね。
ありがとうございます。
参考になります。
1行ずつ配列に入れれば楽に使えますね。
my
foreach(@var)
{
}
前へ 1 次へ![]()
コメントする
[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。
[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。








>@result = `ps`;
の結果を @result に代入します。
ps
ということで、コマンドの出力ぶんメモリを食うので、あまりよろしくない書き方かと思われます。