システムコマンドを実行してその標準出力を取得する
readpipe
は EXPR をシステムコマンドとして実行します。
そして、そのコマンドの標準出力を収集して、それを返します。
EXPR が省略されたら、$_
が使われます。
スカラーコンテキストでは、その標準出力を改行とともに返しますが、
リストコンテキストでは 1 行ごとに分割してリストとして返します。
my $output = readpipe('ls -l');
readpipe
は事実上、qx/EXPR
やバッククォートによるシステムコマンド実行と同じです。
事実、qx/EXPR/
は裏で readpipe
を使っているいます。
my $output1 = qx/ls -l/;
my $output2 = `ls -l`;