这是一个非常简单且非关键的问题。我很久以前就有一些编程背景(从 FORTRAN 开始,那是很久以前的事了),并且正在使用 Simon Cozen 的Beginning Perl 学习一些 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 行。和回车键有关系吗?如果是这样,为什么同一程序的oct版本没有问题?