免费注册 查看新帖 |

Chinaunix

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

请帮忙看一下读文件的几行代码! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-24 20:09 |只看该作者 |倒序浏览
请问下面代码中,第1行中的"|-"代表什么意思?
第2行的功能是什么?
第13行判断的是什么?
本人实在看不懂,请大家解答,谢谢
----------------------------------------------
1、$pid = open(OPENSSL, "|-");
2、        $SIG{ALRM} = sub { $errormessage = $tr{'broken pipe'}; goto ROOTCERT_ERROR;};
3、        if ($pid) {        # parent
4、            print OPENSSL "$cgiparams{'ROOTCERT_COUNTRY'}\n";
5、            print OPENSSL "$state\n";
6、            print OPENSSL "$city\n";
            print OPENSSL "$cgiparams{'ROOTCERT_ORGANIZATION'}\n";
            print OPENSSL "$ou\n";
            print OPENSSL "$cgiparams{'ROOTCERT_HOSTNAME'}\n";
            print OPENSSL "$cgiparams{'ROOTCERT_EMAIL'}\n";
10、            print OPENSSL ".\n";
11、            print OPENSSL ".\n";
            close (OPENSSL);
13、            if ($?) {
                $errormessage = "$tr{'openssl produced an error'}: $?";
                unlink ("${swroot}/certs/hostkey.pem");
                unlink ("${swroot}/certs/hostreq.pem");
                goto ROOTCERT_ERROR;
            }

论坛徽章:
0
2 [报告]
发表于 2007-04-24 20:45 |只看该作者
$? 上一个关闭的管道、备份引号中的命令和系统函数返回的状态
%SIG 设置信号处理器的关联数组

[ 本帖最后由 alexru 于 2007-4-24 23:11 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-04-24 21:48 |只看该作者
谢谢,能不能详细给介绍一下?
另外,哪位能够解释第一行和第二行的问题

论坛徽章:
0
4 [报告]
发表于 2007-04-24 23:48 |只看该作者
原帖由 yalechen 于 2007-4-24 21:48 发表
谢谢,能不能详细给介绍一下?
另外,哪位能够解释第一行和第二行的问题

$SIG{ALRM} 一般是设置超时用的信号量 一般和eval搭配使用,不知道你这是从哪copy的代码 好像并没有真正使用信号量
关于信号量的详细讲解请参考perl network programming

查了一下
$- 当前页可打印的行数,属于Perl格式系统的一部分

参考资料
http://blog.chinaunix.net/u/12631/showart.php?id=254782

[ 本帖最后由 xiaoquqi 于 2007-4-24 23:49 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-04-25 09:35 |只看该作者
原帖由 xiaoquqi 于 2007-4-24 23:48 发表

$SIG{ALRM} 一般是设置超时用的信号量 一般和eval搭配使用,不知道你这是从哪copy的代码 好像并没有真正使用信号量
关于信号量的详细讲解请参考perl network programming

查了一下
$- 当前页可打印的行数, ...


谢谢,第一行我也理解了,是管道,可以参考http://bbs.chinaunix.net/viewthread.php?tid=621628
现在就第二行不是很理解

论坛徽章:
0
6 [报告]
发表于 2007-04-25 11:22 |只看该作者
第二行是处理alarm信号的signal handler ,sub中的内容是错误处理程序段。
但应当是用eval来捕捉alarm的。但这里不知道为什么没有用?不知道这里怎么样捕捉到alarm信号。
新手,希望和大家一起进步。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP