免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: life382

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

论坛徽章:
0
发表于 2007-09-25 16:15 |显示全部楼层
原帖由 life382 于 2007-9-25 16:10 发表
问题1:好像没读到errors的值
问题2:字符串中的kavset 要用刚才取到的$project变量来用,行不 


if ($project and $line =~ m{$project - (\d+) error\(s\), (\d+) warning\(s\)})


error 的值读到了啊,你没看我的测试程序吗?

论坛徽章:
0
发表于 2007-09-25 16:17 |显示全部楼层

回复 #49 flw 的帖子

老大,偶知道错了,中秋快乐哈

正题,回复那MM
正则表达式中是可以使用变量的,如$good="ok";$_=~/$good/;

论坛徽章:
0
发表于 2007-09-25 16:28 |显示全部楼层
奇怪,我这边没读到。。

文件中的信息
</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Build log was saved at "file://e:\Build\Build_Src\KIS\kis\kav32\kav32.set\Release\BuildLog.htm"
kavset - 0 error(s), 1 warning(s)
</pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
</font></table></body></html>

论坛徽章:
0
发表于 2007-09-25 16:31 |显示全部楼层
我测试过了,没有问题的,不知道你是怎么回事。

论坛徽章:
0
发表于 2007-09-25 16:32 |显示全部楼层
汗~!
就跟你上面教的一样啊。好奇怪……
你测试能通过,又更奇怪了
不是要叫我留下遗憾吧

论坛徽章:
0
发表于 2007-09-25 16:34 |显示全部楼层
原帖由 life382 于 2007-9-25 16:32 发表
汗~!
就跟你上面教的一样啊。好奇怪……
你测试能通过,又更奇怪了
不是要叫我留下遗憾吧

你把所有的html代码都发出来吧.....我发现你前面的代码和这次发的信息又不一样了

论坛徽章:
0
发表于 2007-09-25 16:35 |显示全部楼层

  1. use strict;

  2. my $project;
  3. my $configuration;
  4. my $error;
  5. my $warning;
  6. my $logfile = "Log.html";

  7. open LOGFILE, "<$logfile" or die "$!\n";

  8. while (my $line = <LOGFILE>) {
  9.         chomp $line; # and print $line;
  10.        
  11.         if ($line =~ m{Project: (\w+), Configuration: (\w+\|\w+)}) {
  12.                 $project = $1 if defined $1;
  13.                 $configuration = $2 if defined $2;
  14.                 print "Project = $project\n";
  15.                 print "Configuration = $configuration\n";
  16.                 next;
  17.         }
  18.         if ($project and $line =~ m{$project - (\d+) error\(s\), (\d+) warning\(s\)}) {
  19.                 $error = $1 if defined $1;
  20.                 $warning = $2 if defined $2;
  21.                 print "Error = $error\n";
  22.                 print "Warnings = $warning\n";
  23.         }
  24. }

  25. ---------------------------

  26. <html>
  27. <head>
  28.         <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-16">
  29. </head>
  30. <body>
  31. <h3>Rebuild started: Project: kavset, Configuration: Release|Win32</h3>
  32. </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Build log was saved at "file://e:\Build\Build_Src\KIS\kis\kav32\kav32.set\Release\BuildLog.htm"
  33. kavset - 10 error(s), 11 warning(s)
  34. </pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
  35. </font></table>
  36. </body>
  37. </html>

  38. ----------------------------------------

  39. >perl -w test.pl
  40. Project = kavset
  41. Configuration = Release|Win32
  42. Error = 10
  43. Warnings = 11
  44. >Exit code: 0

复制代码


你看,没问题啊

[ 本帖最后由 cobrawgl 于 2007-9-25 16:41 编辑 ]

论坛徽章:
0
发表于 2007-09-25 16:36 |显示全部楼层
  1. </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Build log was saved at "file://e:\Build\Build_Src\KIS\kis\kav32\kav32.set\Release\BuildLog.htm"
  2. kavset - 0 error(s), 1 warning(s)
  3. </pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
  4. </font></table></body></html>
复制代码

  1. <html>
  2. <head>
  3. <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-16">
  4. </head>
  5. <body>
  6. <pre>
  7. <table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3>
  8. Build Log
  9. </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0
复制代码



这代码你总是一段一段的,所以你们测试的代码不一致,结果也不一致

论坛徽章:
0
发表于 2007-09-25 16:38 |显示全部楼层
我把它改成1以上的就可以读出来了。
0就是读不出来,什么问题。。

论坛徽章:
0
发表于 2007-09-25 16:40 |显示全部楼层
怎么会啊,我那个测试程序 0 也能读出来啊

rpwt?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP