>:scalar
の意味は? 「:THING>」構文はTHINGで指定された層を使用するためのPerlのIOシステムに指示します
は
>:scalar
の意味は? 「:THING>」構文はTHINGで指定された層を使用するためのPerlのIOシステムに指示します
は
特に..前にこの種のコードを見ることはありません。 「層」のためのPerlIO documentationを見てください。一般的なレイヤーは「未加工」と「utf8」です。
この場合、$ stdoutをメモリ内ファイルとして使用することができます。これは、STDOUTに送信されるものを含むようになります。より一般的には、構文を使用するとメモリ内のファイルを開き、ファイルハンドルをファイルに通常書き込む他の関数に送ることができるので、出力を収集することができます。
あなたはまた、スカラーへの参照である「ファイル」開くことで同じ結果を得ることができます:あなたは「を使用する必要はありませんが、それは、PerlIO::scalarによってはPerlIOによって提供され、実装されています
open my $fh, ">:scalar", \$scalar or die;
open my $fh, ">", \$scalar or die;
を'機能にアクセスするためのモジュール。
Perlはlayered IO systemを使用します。チェーンの一番下には、メディアへのアクセスを扱うレイヤーがあります。 scalar
は、ファイルではなくスカラーへの読み書きを処理するIOシステム層です。スカラーハンドル用
open(my $fh, '>:scalar', \$scalar)
を言うことはOSハンドル用
open(my $fh, '>:unix', $file_name)
を言うのと同じです。 Perlは既にそれがスカラーハンドルであり、OSハンドルではないことを既に知っているので、完全に冗長です。
'>:スカラー 'とはどういう意味ですか? – asker
私は最初にそれを追加しました。 – Alex