|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 axlrose2138 于 2014-11-26 03:01 编辑
请问各路大侠,小弟现在有一个文本文件,大致如下 (牛人可能一眼就看出来是个 CDL文件),我现在想把里面的 .subckt 的一行在末尾加上 VDD和VSS,其他所有m打头的,末尾都加上 fw,并让这个fw 等于这行w的值,因为这样的.subckt 和 m 很多,手改工作量很大,我打算用perl, 可惜能力有限,实现不出来,请问哪位大侠给指点一下(我后面参考模板,写了不完整的文件,如果大侠觉得我的写的思路正确,麻烦指点如何加几行命令行能实现)。另外应该是设置悬赏功能的,表示感谢,但是不知哪里设,知道的大侠们麻烦说一下,我好加上,谢谢!
.subckt a b c d e f g (此处加上 VDD VSS)
m0 vdd vss l=0.35 w=0.45 (此处加上fw=0.45)
m1 vdd net vss l=0.18 w=0.72 (此处加上fw=0.72)
.end subckt
.subckt b c d e f g h i j k (此处加上 VDD VSS)
m0 vss vdd l=0.11 w=0.4 (此处加上fw=0.4)
m1 net net vdd net vss l=0.2 w=0.5 (此处加上fw=0.5)
.end subckt
.subckt.....
m.........
m.....
.........
-------------------------------------------------------------------------------------以下是我的不完整的code:
#!usr/bin/perl
$read_in ="./test"; #上面文件的名字是test
$write_out ="./test_out"; #实现后保存在新文件叫test_out
open (IN,"<$read_in") or die "can not open the file: $!\n"; #读取文件
@lines=<IN>; #读取每一行,保存在数组中
close IN; #关闭原文件
open (OUT,">$write_out") or die "can not write and save: $!\n"; #存储到新文件下
for (@lines) {
????????????? #这里应该是如何实现,实在不会写
print OUT; #打印到新文件
}
#下面是在屏幕中直接打出来,看运行效果,因为?出写不出来,这里也没有输出
close OUT;
open (TEST, "<$write_out") or die "can not open the file: $!\n";
while ( <TEST> ) {
print;
}
close TEST; |
|