私は最近、Perl コードに少し触れるようになりましたが、そのいくつかの側面はまだわかりません。これです:
@collection = <*>;
collection
at-symbolが配列として定義されていることを理解しています。また、少し調べてみたところ、特にI/O Operatorsに関する部分で perldoc にたどり着きました。null ファイルハンドルが特に興味深いことがわかりました。コードは続きます。
while (<>) {
...
}
同じトピックで、この構文も有効であることにも気付きました。
while (<*.c>) {
...
}
glob
perldoc によると、実際には、次のコードと同様の方法で呼び出す内部関数を呼び出しています。
open(FOO, "echo *.c | tr -s ' \t\r\f' '\\012\\012\\012\\012'|");
while (<FOO>) {
...
}
質問
最初の行で言及されている小なり、アスタリスク、大なり ( <*> ) 記号は実際には何をしますか? 内部で開いて参照されているグロブへの参照ですか? null ファイルハンドルなどの特殊なケースでしょうか? それとも、従来の実装のように、まったく異なるものにすることができますか?