これは非常に単純で重要ではない質問です。私は何十年も前にプログラミングのバックグラウンドを持っており (FORTRAN から始めた、それはずっと前のことです)、Simon Cozen のBeginning Perl を使用して perl コーディングの基本を学習しています。第 2 章の課題には、整数エントリ ( <STDIN>
) を解釈する簡単なプログラムの作成と、数値に等しい 10 進整数の出力が含まれます。Windows 7 を使用しています。整数を入力すると、プログラムは警告を出力します。
Illegal hexadecimal digit '
' ignored at [path] line [the line containing the print instruction], <STDIN> line 1
次に、正しい16進数を出力します。
コードは
$number = <STDIN>;
print hex($number), "\n";
8 進数を出力するようにプログラムを変更すると、警告が表示されません。
警告は、STDIN 行を参照しているにもかかわらず、印刷行で不正な数字が発生したことを示しています。エンターキーと関係ありますか?もしそうなら、同じプログラムの oct バージョンに問題がないのはなぜですか?