[求助]如何用perl实现搜索到某个字符以后,输出对该字符的描述

[求助]如何用perl实现搜索到某个字符以后,输出对该字符的描述

例如   
module add(in1,in2,c_in,out,c_out);
input  in1,in2,c_in;output  out,c_out;
wire    N0,N1,N2,N3,N4;
   GTECH_XOR2    C6(.A(in1),.B(in2),.Z(N0));
   GTECH_XOR2    C7(.A(N0),.B(c_in),.Z(out));
   GTECH_OR2     C8(.A(N3),.B(N4),.Z(c_out));
   GTECH_OR2     C9(.A(N1),.B(N2),.Z(N3));
   GTECH_AND2    C10(.A(c_in),.B(in2),.Z(N1));
   GTECH_AND2    C11(.A(c_in),.B(in1),.Z(N2));
   GTECH_AND2    C12(.A(in1),.B(in2),.Z(N4));
endmodule
对这个程序搜索到 AND 后,在输出时添加这个一段话对AND的描述
.subckt AND in1  in2  out wp=10  en=5
M1 out  in1  vdd  vdd  p  w=wp  l=1min  ad=0
。。。。
.ends
设一个flag标志指示搜索到了某个字符
然后用个if语句来打印不行??
建议所有的描述性语句写在一个hash中
my %hash = (
    "see_add" => "description about add",
   "see _and" => "description about and",
   ...
  );
这样维护起来比较方便

      print $hash{see_add } if $flag_see_add;
大大能不能给说下怎么写这个程序
小弟初学perl   对这些函数不太懂~~
楼主的描述不是太清楚啊,你的输出是指在原有的基础上追加呢还是直接替换。
是不是搜索原文件,只要发现AND,就在一个新的文件中输出一条如下的记录
.subckt AND in1  in2  out wp=10  en=5
M1 out  in1  vdd  vdd  p  w=wp  l=1min  ad=0
。。。。
.ends
还有就是输出的信息和原文件的AND有什么规则吗?比如根据GTECH_AND2    C10(.A(c_in),.B(in2),.Z(N1));生成不同的描述等。
小弟就是要编写一个perl语言的程序,把这个下面这个格式的程序,
module add(in1,in2,c_in,out,c_out);
input  in1,in2,c_in;output  out,c_out;
wire    N0,N1,N2,N3,N4;
   GTECH_AND2    C11(.A(c_in),.B(in1),.Z(N2));
   GTECH_AND2    C12(.A(in1),.B(in2),.Z(N4));
endmodule
变成这种格式               
.subckt      add      in1  in2  c_in  out  c_out
    C11   c_in   in1    N2     AND2
    C12   in1    in2    N4     AND2
.ENDS      add

.subckt AND in1  in2  out wp=10  en=5
M1 out  in1  vdd  vdd  p  w=wp  l=1min  ad=0
。。。。
.ends
输出的前面一部分的通过模式匹配已经能够实现了。现在小弟不知道的是如何在搜索到AND2这个词语后,在输出的后面添加上后面一段描述
就是在输出的后面添加上那么一段话,那段话也是特定的。


QUOTE:
原帖由 chtxzy 于 2008-5-10 12:06 发表
大大能不能给说下怎么写这个程序
小弟初学perl   对这些函数不太懂~~

2楼的已经给你说很清楚了
自己的作业自己做嘛
顶,2楼已经very detail了。。。