次のことはうまくいくとは思いませんが、うまくいきます。
$ perl -e '@a = qw/1222 2 3/; while (<@a>) { print $_ ."\n";}'
1222
2
3
$
私の知る限り、Perlの演算子は、魔法のようにを繰り返すリテラル(の代わりに)<>
を除いて、ファイルハンドルやグロブなどを処理する必要があります。<>
<FILEHANDLE>
@ARGV
私のテストと同じように機能するはずかどうか誰かが知っていますか?
次のことはうまくいくとは思いませんが、うまくいきます。
$ perl -e '@a = qw/1222 2 3/; while (<@a>) { print $_ ."\n";}'
1222
2
3
$
私の知る限り、Perlの演算子は、魔法のようにを繰り返すリテラル(の代わりに)<>
を除いて、ファイルハンドルやグロブなどを処理する必要があります。<>
<FILEHANDLE>
@ARGV
私のテストと同じように機能するはずかどうか誰かが知っていますか?
魔法の仕事!
' perldoc perlop 'から:
山かっこ内にあるものがファイルハンドルでも、ファイルハンドル名、typeglob、またはtypeglob参照を含む単純なスカラー変数でもない場合、グロブされるファイル名パターン、およびファイル名のリストまたはリスト内の次のファイル名として解釈されます。コンテキストに応じて、が返されます。
これは、このコードでトリガーするルールです。何が起こっているのか:
これはglobを呼び出しています。
<FH>
はファイルハンドルの名前ではなく、ハンドルで行入力操作を行う角度演算子です。この混乱は通常、人々が角度演算子に印刷しようとすると現れます」 -Perlのプログラミング
したがって、あなたの場合、配列はハンドルであり、これは理にかなっているため、演算子はそれを繰り返し処理します。ですから、あなたの質問に答えて、はい、これは標準的な(しかしあいまいな)Perlだと思います。言語には配列を反復処理するためのより明白な方法があるため、あいまいです。
PSしかし、これのおかげで、これはコードゴルフ大会に最適です。