@ARGV
ユーザー入力を要求することの違いは何ですか?
$num = $ARGV[0];
そして
$_ = <STDIN>;
どちらにしてもユーザーが入らなければなりませんか?
彼らはどう違いますか?
答え1
彼らはプログラムの同じ要件を満たしていません。
コマンドライン引数は起動時にプログラムに通知されます。プログラムの実行中はいつでもstdinを介してユーザー入力を取得できます。ユーザーが入力する内容は、これまでプログラムが出力した内容によって異なる場合があります。
コマンドライン引数は通常短い入力ですが、stdinを介して何でも取得できます。たとえば、ユーザーがファイルから標準入力をリダイレクトする場合です。
通常、コマンドライン引数は次のとおりです。オプションプログラムの場合、標準入力はデータ保留中。時々それらの1つを使用して同じことをすることができますが、時にはそうではないかもしれません。