からの引用Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin
Perlには、コマンドラインをチェックし、引数がある場合はそれらを開いてファイルとして読み取る*ARGVと呼ばれる便利な魔法のファイルハンドルがあります。引数がない場合、*ARGVは代わりに*STDINのように動作します。STDINから読み取るプログラムを作成する場合、この動作はほとんどの場合必要なものです。これは多くの場合、次の2つの同等の形式のいずれかで記述されます。
while (<ARGV>) { # ... do something with each input line ... } # or, equivalently: while (<>) { # ... do something with each input line ... }
- それは「単なる慣習」なのか、それとも使用しない確かな理由があるの
<STDIN>
でしょうか。
または<STDIN>
を使用するよりも、コードの意図が明確になると思います。<>
<ARGV>
私のコードの流れはこんな感じです
my @inp = <STDIN>;
my $len = $inp[0];
...
for(my $i = 0; $i < ($len + 0); $i++) {
my @temp = split (' ', $inp[$i]);
...
}