Это очень простой и не-критический вопрос. У меня есть опыт программирования много тысячелетий назад (, начиная с FORTRAN, вот как давно), и я работаю над изучением некоторых основ программирования на Perl, используя книгу Саймона Козена Beginning Perl. Задания главы 2 включают в себя написание простой программы для интерпретации целочисленного ввода(<STDIN>
)и вывода десятичного целого числа, равного числу. У меня Windows 7. Когда вводится целое число, программа выводит предупреждение
Illegal hexadecimal digit '
' ignored at [path] line [the line containing the print instruction], <STDIN> line 1
. Затем печатает правильное шестнадцатеричное число.
Код
$number = <STDIN>;
print hex($number), "\n";
Когда я изменяю программу для вывода восьмеричного числа, я не получаю предупреждения.
В предупреждении говорится, что в строке печати встречается недопустимая цифра, хотя она ссылается на строку STDIN. Это связано с клавишей ввода? Если да, то почему в октябрьской версии той же программы нет проблем?