免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: life382
打印 上一主题 下一主题

动脑的机会来了 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-09-25 13:42 |只看该作者
现在问题明显就是读取htm文件信息,并不是字符串,而是一个字符字符的拆解开了。。咋处理啊。

论坛徽章:
0
12 [报告]
发表于 2007-09-25 13:44 |只看该作者
perljoker::别挖苦我了……快帮我解决问题吧。

论坛徽章:
0
13 [报告]
发表于 2007-09-25 13:47 |只看该作者
LZ就不能把代码发上来看一下啊,.

论坛徽章:
0
14 [报告]
发表于 2007-09-25 13:54 |只看该作者
老大,你们怎么看信息的,我已经发了。。

论坛徽章:
0
15 [报告]
发表于 2007-09-25 13:54 |只看该作者
这是代码:::
use strict;

my $project;
my $Configuration;
my $Errors;
my $Warnings;
my $logfile = "Log.htm";

if(-e $logfile)
{
        open LOGFILE, "<$logfile" or die "打开文件失败:$!";
        while (<LOGFILE>)
        {
         my $str = chomp($_);
         print $str;
         if($str =~/Project: [\w],Configuration: [\w]/)
                {
                 my $pos=index($str,",");
                 my $str1 =substr($str,0,$pos);
                 my $pos1=index($str1,":");
                 $project = substr($str1,$pos1 +1);
                 my $str2 =substr($str,$pos+1);
                 my $pos2=index($str2,":");
                 $Configuration = substr($str2,$pos2 +1);
                }
        }
print "Project =".$project;
print "\n";
print "Configuration=".$Configuration;
print "\n";
}

这是html部分文件:
<html>
<head>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-16">
</head>
<body>
<pre>
<table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3>
Build Log
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0

现在的问题就是像我上面所说的比如第一行<html>,读出来是? h t m l>,

论坛徽章:
0
16 [报告]
发表于 2007-09-25 14:01 |只看该作者
my $str = chomp($_);



chomp(my $str = $_);

论坛徽章:
0
17 [报告]
发表于 2007-09-25 14:04 |只看该作者
my $str = chomp($_);

你这句话的意思是,一般来说$tr会等于1
chomp返回的是成功的次数

嘿嘿,偶咋会讽刺你,是说实在的,你一发上来,问题很容易看出来啊   
你讲的。。太抽象,偶们咋知道啊

论坛徽章:
0
18 [报告]
发表于 2007-09-25 14:06 |只看该作者
遥头……没解决问题

my $str = chomp($_);
chomp(my $str = $_);

看到楼主的写法,很疑惑chomp的用法

[ 本帖最后由 life382 于 2007-9-25 14:09 编辑 ]

论坛徽章:
0
19 [报告]
发表于 2007-09-25 14:09 |只看该作者
perljoker    ::
啊,,这函数不是去掉空格的嘛。。
我讲得抽象,不会吧,把简单给复杂话了

竟然看出问题了,,快给讲讲怎么解决吧,我可是翻遍了资料

论坛徽章:
0
20 [报告]
发表于 2007-09-25 14:13 |只看该作者
原帖由 life382 于 2007-9-25 14:06 发表
遥头……没解决问题

my $str = chomp($_);
chomp(my $str = $_);

看到楼主的写法,很疑惑chomp的用法


晕,你就是楼主啊
他意思是,叫你把my $str = chomp($_);
改成:chomp(my $str = $_);
chomp返回的是数目,所以不能写做$str = chomp()的形式
还有,这个不是去掉空格的,是去掉句末的特殊字符,默认是"\n"就是换行符,没有就返回0,有就去掉而已

[ 本帖最后由 perljoker 于 2007-9-25 14:14 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP