Perl输入与输出

Perl输入与输出(1)1. 标准输入和标准输出1.1 从标准输入读取标准输入分类行操作符<STDIN>钻石操作符<>双钻石操作符<<>>#!/usr/bin/perl#行输入操作符,每次只读取标准输入的一行while (defined($line = <STDIN>)) { #读取标准输入 ->...
摘要由CSDN通过智能技术生成

Perl输入与输出(1)

1. 标准输入和标准输出

1.1 从标准输入读取

  • 标准输入分类
    • 行操作符<STDIN>
    • 钻石操作符<>
    • 双钻石操作符<<>>
#!/usr/bin/perl
#行输入操作符,每次只读取标准输入的一行
while (defined($line = <STDIN>))  {
       #读取标准输入 -> 存入变量$line -> 检查变量是否定义 -> 是否执行while循环主体
	print "I saw $line."
}
#简写while循环
while (<STDIN>) {
              #和上例结果一致,不过每次读取标准输入行的数据存储在默认变量$_中
	print "I saw $_."
}
#foreach循环
foreach (<STDIN>) {
            #和上例结果一致,不过每次读取标准输入行的数据存储在默认变量$_中
	print "I saw $_."
}
  • foreach 和 while 循环的区别

    • while中<STDIN>
      • 标量上下文;
      • 每次读取标准输入的一行,存储至默认标量$_;
      • 读入行不为空,就执行while主体,否则退出循环;
    • foreach中<STDIN>
      • 列表上下文;
      • 每次读取全部标准输入数据,存储至默认列表@_;
      • 遍历读取文件的每一行,将每行的数据存储@_[i] ;
  • 钻石操作符<>

  • 钻石操作符,可以指定程序的输入源,即用户可以指定输入的读入位置。

    • 如果我们脚本名称为 script.pl,当我们执行下句时:(a,b,c, - 都可以看做参数)
      (1) ./script.pl
      ##读取标准输入
      (2) ./script.pl a b c
      ##一次读取a,b,c三个文件内容,其中a的最后一行与b的最后一行紧密相联,即输入将a,b,c合成一个大文件
      (3)/script.pl a - b
      ##按顺序读取a,标准输入,b的内容,将a,标准输入,b看做一个大文件
  • 双钻石操作符<<>>

    • 双钻石操作符,用于修复钻石操作符的一个bug;对钻石操作,当文件名中有特殊字符,如 | ,管道符会引发管道操作,如果我们采用<<>>,他和钻石操作符的作用基本类似,只是不再启动外部程序,因此即使文件名为a|b,也不会出发管道操作,而是打开文件 a|b。
#!/usr/bin/perl
while (<>) 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值