当我<stdin>在Perl module(*.pm)文件中使用时,它不是从键盘读取输入,但是当我<STDIN> 在同一个地方使用时它工作正常.
为什么我使用时没有输入<stdin>?
cho*_*oba 21
STDIN是记录的文件句柄.存在stdin,也有别名STDIN,但它只在main::包中起作用:main::stdin与perlop中main::STDIN记录的相同 - Perl运算符和优先级.
因此,在一个包中,
package My::Package;
sub xx {
print while <stdin>;
}
Run Code Online (Sandbox Code Playgroud)
stdin被解释为My::Package::stdin,不存在.您可以main::stdin从包中使用,但使用标准STDIN(总是指向main::STDIN,甚至从包中)更清洁.
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |