在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 3959|回复: 5

[求助] perl编程 ,请高手指教

[复制链接]
发表于 2011-9-7 10:54:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
用perl编程:
      匹配文件timing.rpt中所有包含VIOLATION的行,按数值大小排序后输出匹配到文件temp
timing.rpt    example:
Path 1:
  VIOLATION -0.33
Path 2:
  VIOLATION -0.12
Path3:
  VIOLATION -0.15
......
发表于 2011-9-7 12:52:03 | 显示全部楼层
太简单了吧,

#!/usr/bin/perl -w
use strict;
use warnings ;
use Fatal qw/ open close / ;

open my $F1, '<' , 'total_timing.rpt' ;
my @data ; # store all violation items ,

while ( <$F1> ) {
    if ( /^\s*VIOLATION\s+\(S+)\s*$/ )  {
         push @data , $1 ;
    }
}

close $F1 ;

open my $F2 ,'>' , 'temp.rpt'
print {$F2}  join "\n" ,  sort @data ;

close $F2 ;
回复 支持 反对

使用道具 举报

发表于 2011-9-20 15:54:52 | 显示全部楼层
print {$F2}  join "\n" ,  sort @data
这句好像不是按大小排列的吧
回复 支持 反对

使用道具 举报

发表于 2011-9-22 04:08:19 | 显示全部楼层
sort 缺省就是按数字大小排列啊
回复 支持 反对

使用道具 举报

发表于 2011-9-22 10:35:31 | 显示全部楼层
回复 2# icfbicfb


    版主你好,while那个地方笔误了,应该是if(/^\s*VIOLATION\s+(\S+)\s*$/),请版主指正
回复 支持 反对

使用道具 举报

发表于 2011-9-22 23:05:33 | 显示全部楼层
没错, 是 \S+ 括起来,  多谢
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /3 下一条

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-11 04:32 , Processed in 0.017316 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表