标准输入<STDIN>
<STDIN>表示从标准输入中读取内容(来自键盘的输入),如果没有输入会继续等待,默认读取的内容会带换行符;
#!/usr/bin/perl
use 5.10.1;
my $line = <STDIN>;
if($line -eq "\n")
{
print("blank line\n");
}
else
{
chomp($line);
print("not blank:$line\n");
}
<STDIN>标准输入的结束表示是换行符 \n,在输入中如果发现换行符则会结束读取,换行符后面的内容不会读取,如下:
echo "hello\nworld" | perl stdin.pl
perl脚本中只会读取到 hello\n,而world 则不会读取到;
由于<STDIN>是读取标准输入,如果想用来读取文件的内容,则需要使用 shell 的重定向功能,如下所示:
perl stdin.pl <a.txt
但是上面的代码只能读取到 a.txt 的一行内容,如果要读取全部内容,需要使用 while 进行循环:
while(defined($line=<STDIN>))#推荐
{
print("$line");
}
foreach(<STDIN>)#不推荐
{
print("$_");
}
上面的while 循环中,每次从标准输入中读取一行并赋给变量 $line,并检查变

这篇博客介绍了Perl编程中关于标准输入(STDIN)和钻石操作符(<>)的使用,包括如何读取键盘输入、文件内容以及处理换行符。文章详细解释了`chomp`函数在去除行尾换行符中的作用,并对比了`print`和`say`的区别。此外,还探讨了`printf`的格式化输出功能。最后,提到了Perl命令行参数的处理,如`@ARGV`数组的使用。
最低0.47元/天 解锁文章
1989

被折叠的 条评论
为什么被折叠?



