[英]What is the difference between <stdin> and <STDIN>?
当我在Perl模块( *.pm
)文件中使用<stdin>
,它不是从键盘读取输入,但是当我在同一个地方使用<STDIN>
时它工作正常。
当我使用<stdin>
时为什么不输入?
STDIN
是文档化的文件句柄。 还存在stdin
,它是STDIN
别名,但它只能在main::
package中工作: main::stdin
与main::STDIN
相同(如perlop中所述 - Perl运算符和优先级 )。
因此,在一个包中,
package My::Package;
sub xx {
print while <stdin>;
}
stdin
被解释为My::Package::stdin
,它不存在。 你可以使用包中的main::stdin
,但是使用标准的STDIN
(它总是指向main::STDIN
,甚至来自包)也更清晰。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.