免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3626 | 回复: 12
打印 上一主题 下一主题

学习是很艰苦的事情,又遇着看不懂的了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-26 13:53 |只看该作者 |倒序浏览
  1. head(100);
  2. while (<>) {
  3.     print;
  4. }

  5. sub head {
  6.     my $lines = shift || 20;
  7.     return if $pid = open(STDOUT, "|-");
  8.     die "cannot fork: $!" unless defined $pid;
  9.     while (<STDIN>) {
  10.         print;
  11.         last unless --$lines ;
  12.     }
  13.     exit;
  14. }
复制代码
############

好心的人给解释下这句是干啥的

$pid = open(STDOUT, "|-";

尤其是 "|-" 是什么东西啊

论坛徽章:
0
2 [报告]
发表于 2010-12-26 13:58 |只看该作者
5分钟了,还是0回复,现在是午休时间吗{:3_186:}

论坛徽章:
0
3 [报告]
发表于 2010-12-26 14:04 |只看该作者
再发一段类似的代码,个人觉得很有用的东西,无聊的同学可以试一下
  1. number();                   # push number filter on STDOUT
  2. quote();                    # push quote filter on STDOUT

  3. while (<>) {                # act like /bin/cat
  4.     print;
  5. }

  6. close STDOUT;               # tell kids we're done--politely
  7. exit;

  8. sub number {
  9.     my $pid;
  10.     return if $pid = open(STDOUT, "|-");
  11.     die "cannot fork: $!" unless defined $pid;
  12.     while (<STDIN>) { printf "%d: %s", $., $_ }
  13.     exit;
  14. }

  15. sub quote {
  16.     my $pid;
  17.     return if $pid = open(STDOUT, "|-");
  18.     die "cannot fork: $!" unless defined $pid;
  19.     while (<STDIN>) { print "> $_" }
  20.     exit;
  21. }

复制代码
运行效果:
bsd# perl a.pl
hello
1: > hello
hi
2: > hi

论坛徽章:
0
4 [报告]
发表于 2010-12-26 14:13 |只看该作者
只看到浏览次数在增加,但是没人发言。。。
莫非那个浏览次数是我自己刷新的次数{:3_186:}

论坛徽章:
0
5 [报告]
发表于 2010-12-26 14:16 |只看该作者
为了维护世界的和平,为了防止世界被破坏,坚持爱和真实的罪恶,最有媚力的反派人物,武汉小星,
跨越银河的火箭队的这个人,白色的未来有光明的明天在等待。
喵喵…… 宣布这里的人死刑!

论坛徽章:
0
6 [报告]
发表于 2010-12-26 14:36 |只看该作者
回复 3# meihuaqi

根据试验结果
上面的代码新建两个子进程,过滤主进程的输出,先由 quote过滤,再由number过滤,不过还是不明白
  1. "|-"
复制代码
是啥东西
有谁知到相关的文档在哪告诉我一下,谢谢

论坛徽章:
0
7 [报告]
发表于 2010-12-26 15:31 |只看该作者
{:3_199:}知道了

论坛徽章:
0
8 [报告]
发表于 2010-12-26 16:01 |只看该作者

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
9 [报告]
发表于 2010-12-26 16:51 |只看该作者
星期天楼主急什么啊

论坛徽章:
0
10 [报告]
发表于 2010-12-26 16:53 |只看该作者
回复  meihuaqi

根据试验结果
上面的代码新建两个子进程,过滤主进程的输出,先由 quote过滤,再由num ...
meihuaqi 发表于 2010-12-26 14:36



    看看偶的精华帖 简简单单讲管道  里面描述很清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP