perl的输入输出

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

标准输入<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,并检查变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值