动脑的机会来了

动脑的机会来了

有一个网页文件,内容形式为
<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

我要读取该文件的信息
但读取出来的信息,每字符之间都有空格隔开了
请问如何解决些问题呢。运行程序,会提示
Use of uninitialized value in concatenation (.) or string at E:\WorkDir\script\p
erl\study\GetLogInfo.pl line 19, <LOGFILE> line 147.
Use of uninitialized value in concatenation (.) or string at E:\WorkDir\script\p
erl\study\GetLogInfo.pl line 19, <LOGFILE> line 148.

我用chomd这个函数来去掉空格也是不行的。
嗯,看来你的程序名字叫 GetLogInfo.pl……
大约是第 19 行有问题。
这个MM的信息。。好诡异
注册:2005-5-7
最后登录: 2007-09-25
帖子:1

很早就注册的。。第一个帖这个是
然后积分竟然还是12。。。
何解?
会造成19行错就是因为读取文本的信息时,每一行的字串各字符都是空格隔开的显示,比如第一行<html>,读出来是? h t m l>,这样造成我处理字串就有问题啦。。

不解啊,,“每一行的字串各字符都是空格隔开的显示”,如果说是以空格隔开,可是我用去掉空格的方法或着将空格替换也都不行啊,,这是啥原因嘛。。我可是想破了也没想出一个所以来。

一语猜中我是MM,哦。。。。。
哇,我有这么早注册过,喔喔,我还是最近才开始写perl程序的。。。
好像是一贴一分哦…………注册时应该是有送积分的吧。不清楚…………
是不是文件的编码有关系啊
上code


QUOTE:
原帖由 life382 于 2007-9-25 11:34 发表
会造成19行错就是因为读取文本的信息时,每一行的字串各字符都是空格隔开的显示,比如第一行,读出来是? h t m l>,这样造成我处理字串就有问题啦。。

不解啊,,“每一行的字串各字符都是空格隔开的显示”, ...

饿。。不在于你早注册,你注册了2年多,才开始用,很汗,有“潜”力

建议你把你的html文件上传,或者至少部分,并且把你的代码也打出来,至少也是部分,至少包含19行
看不见代码,的确是需要“动脑”。
这是代码:::
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>,