动脑的机会来了



QUOTE:
原帖由 life382 于 2007-9-25 15:31 发表
perljoker:
你不是说清楚我的问题了嘛,唉。。
不过,优化起我的代码来了。

我是要读取那串信息,,但我还要将那串信息分解决,即读取project、Configuration后面的值分析出来

看看我那个对不对啊,在你上面
要读取的那串信息<h3>Rebuild started: Project: kavset, Configuration: Release|Win32</h3>


QUOTE:
原帖由 life382 于 2007-9-25 15:34 发表
要读取的那串信息Rebuild started: Project: kavset, Configuration: Release|Win32

换成这行就可以了

if ($line =~ m{Project: (\w+), Configuration: (\w+\|\w+)})
太感谢大家,对我代码的进一步调整。
可是,关键的是读取htm文件的信息
目前我是解决了我前面说的取第一行<html>时,输出?h t m l>这明是错,不过解决了
但还有一关键问题是这样的错误信息Use of uninitialized value in concatenation (.) or string at
我一运行就是这样错误


QUOTE:
原帖由 life382 于 2007-9-25 15:47 发表
太感谢大家,对我代码的进一步调整。
可是,关键的是读取htm文件的信息
目前我是解决了我前面说的取第一行时,输出?h t m l>这明是错,不过解决了
但还有一关键问题是这样的错误信息Use of uninitialized v ...

你像我那样加上  if defined $XXX 试试

我上面那个测试程序没有这个错误的



QUOTE:
原帖由 life382 于 2007-9-25 15:31 发表
perljoker:
你不是说清楚我的问题了嘛,唉。。
不过,优化起我的代码来了。

我是要读取那串信息,,但我还要将那串信息分解决,即读取project、Configuration后面的值分析出来

看来偶和这mm还是有心有灵犀的地方,不够偶还建议你重写代码。。
大家提了些意见了,可以把不必要的去掉了
你说的那个问题是引用了未初始化的值,就是赋值之前就调用,所以出错
你可以看第几行的错误,然后看那里有什么变量,再看变量是否被赋值,然后。。。
嘿嘿
你的正则表达式太有魔力了
读取kavset - 0 error(s), 1 warning(s)这一串呢

error = 0
warning = 1
我像你上面改的if($str =~m{$project- (\d) error(s), (\d) warning(s)})
不行耶,哪里错了。$project这个是要替换前面读到的值


QUOTE:
原帖由 life382 于 2007-9-25 15:55 发表
你的正则表达式太有魔力了
读取kavset - 0 error(s), 1 warning(s)这一串呢

error = 0
warning = 1
我像你上面改的if($str =~m{$project- (\d) error(s), (\d) warning(s)})
不行耶,哪里错了。$pro ...

kao,说实话,到现在不知道你到底要读什么东西

你能不能把你要读的string完整写出来?
哇哈,“你说的那个问题是引用了未初始化的值,就是赋值之前就调用,所以出错”
原来那错误信息是这个意思啊,恍然大悟
啊。。我不是写着要读取kavset - 0 error(s), 1 warning(s)这一串嘛