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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3598|回复: 5

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

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

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

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

x
用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+ 括起来,  多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-2-13 22:15 , Processed in 0.022975 second(s), 9 queries , Gzip On, Redis On.

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