加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl中使用的是什么?

发布时间:2020-12-15 21:20:01 所属栏目:大数据 来源:网络整理
导读:使用在Perl。如何使用它 ? 如果我们只是写 ; 和 while() 在这两种情况下,程序在做什么? 解决方法 上面的答案都是正确的,但是如果您了解UNIX的一般UNIX命令行用法,可能会更加明显。想要一个命令来处理多个文件是很常见的。例如。 ls -l *.c 命令行shell(
使用<>在Perl。如何使用它 ?
如果我们只是写
<>;

while(<>)

在这两种情况下,程序在做什么?

解决方法

上面的答案都是正确的,但是如果您了解UNIX的一般UNIX命令行用法,可能会更加明显。想要一个命令来处理多个文件是很常见的。例如。
ls -l *.c

命令行shell(bash等)将其转换为:

ls -l a.c b.c c.c ...

换句话说,除非模式不匹配,否则ls不会看到’* .c’。在命令提示符下尝试(不是perl):

echo *

你会注意到你没有得到*。

所以,如果shell正在给你一堆文件名,而你想依次查看每个人的数据,perl的<>运算符给你一个很好的方法,它把下一个文件的下一行(或stdin,如果没有文件命名)放入$ _(默认标量)。

这是一个穷人的grep:

while(<>) {
   print if m/pattern/;
}

运行这个脚本:

./t.pl *

将打印出与给定模式匹配的所有文件的所有行。

cat /etc/passwd | ./t.pl

将使用猫生成一些文本行,然后通过perl中的循环来检查该模式。

所以你看到,虽然(<))让你得到一个非常标准的UNIX命令行行为...处理我给你的所有文件,或处理我管道给你的东西。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读