- 论坛徽章:
- 95
|
回复 6# kfcdog0419
看你这代码的意思,是要用 @uniq_net4 里面的每个元素把整个 modify_$file 都处理一遍?如果确实是这样的话,应该这么写代码:
- open my $info2, "modify_$file" or die "Could not open $file: $!";
- open (OUTFILEQAAA, ">result_$file");
- my $already_seen;
- foreach my $lookfor (@uniq_net4) {
- while(<$info2>)
- {
- if((not $already_seen) and m/\(([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\)\s+([^\s]+)\s+m=1\s+w=([^\s\(\)]+)\s+l=([^\s]+)\s+multi=1/){
- if($4 eq $lookfor){
- $x_aa = 0.68e-6+$9+($size_net4[$i]-1)*($9+0.38e-6);
- $y_pw = $8+2*((1.07e-6+0.3e-6+0.27e-6)*0.9);
- $x_pw = ($x_aa+2*(0.6e-6+0.3e-6+0.27e-6))*0.9;
- $a_pw = $x_pw*$y_pw;
- $p_pw = 2*($x_pw+$y_pw);
- $x_dw = ($x_aa+2*(0.6e-6+0.3e-6+0.27e-6+2e-6+1.5e-6))*0.9;
- $y_dw = $8+2*((1.07e-6+0.3e-6+0.27e-6+2e-6+1.5e-6)*0.9);
- $a_dw = $x_dw*$y_dw;
- $p_dw = 2*($x_dw+$y_dw);
- print OUTFILEQAAA;
- print OUTFILEQAAA "// $uniq_net4[$i] is found in $size_net4[$i] lines \n";
- print OUTFILEQAAA "Dpw_$uniq_net4[$i] ( $uniq_net4[$i] iso$i ) pwdnw_iso area=$a_pw pj=$p_pw\n";
- print OUTFILEQAAA "Ddnw_$uniq_net4[$i] ( iso$i 0 ) dnwpsub_iso area=$a_dw pj=$p_dw\n\n";
- $already_seen = 1;
- }
- }
- else {
- print OUTFILEQAAA;
- }
- }
- $already_seen = undef;
- seek $info2, 0, 0;
- }
复制代码 |
|