这是一个非常简单且不重要的问题。我有一些编程背景(很久以前开始学习FORTRAN),现在正在学习使用Simon Cozen的《Beginning Perl》学习Perl编码的基础知识。第2章的任务包括编写一个简单的程序来解释整数输入(
当我将程序改为输出八进制时,就不会收到警告。
警告显示非法数字出现在打印行,尽管它引用的是STDIN行。这是否与回车键有关?如果是这样,为什么同一程序的八进制版本没有问题?
<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行。这是否与回车键有关?如果是这样,为什么同一程序的八进制版本没有问题?
chomp($number = <STDIN>);
是惯用语。 - Seanperldoc -f chomp
以获取详细信息。 - shawnhcorey