微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > Tcl Perl编程 的问题

Tcl Perl编程 的问题

时间:10-02 整理:3721RD 点击:





上面的题目,请高手解题,分别用 Tcl 编程Perl 编程,谢谢

给你答一道,
(2)TCL
proc changeFile {InFile} {
set chan [open $InFile r]
while {[gets $chan line]>=0} {
if {[lindex $line 0] == "VIOLATED"} {
puts [lindex $line end]
}
}
close $chan
}

呵呵,谢谢,不懂我是不是语气有啥问题,让你误解了

1)TCL
set src "*.tcl"
proc replace {src} {
foreach f [glob nocomplain $src] {
file copy $f $f.old
set newf [open $f w+]
set oldf [open $f.old r]
while {![eof $oldf]} {
set line [gets $oldf]
puts $line
regsub -all "\/fs\/volume" $line "\/s3g\/project\/vol" newline
puts $newf $newline
}
close $newf
close $oldf
}
}
replace $src

1 use File::Copy;
2
3 @target = glob "*.tcl";
4 foreach $f (@target) {
5my $newname = $f;
6$newname =~ s/\.tcl/\.old/;
7rename $f, $newname;
8open OLDFD, "<", $newname;
9open NEWFD, ">", $f;
10foreach $line (<OLDFD>) {
11printf $line;
12$line =~ s/\/fs\/volume/\/s3g\/project\/vol/g;
13printf NEWFD $line;
14}
15close OLDFD;
16close NEWFD;
17 }
初学者,练练。

2)perl
1 open FD, "<", "timing.rpt";
2 foreach (<FD>) {
3if (/^VIOLATED/) {
4printf $_;
5}
6 }
7 close FD;

第二题,perl
#! /usr/bin/perl -w
use strict;
open (RPT,"< timing.rpt") or die "Cann't open the file: $!";
foreach (<RPT>) {
if(/(net\w+)/) {
print "$1\n";
}
}
close RPT;
我仿真过的。

第一题:perl
#! /usr/bin/perl -w
use strict;
$^I = ".bak";
while(<>) {
s#/fs/volume#/s3g/project/vol#;
print;
}
文件从命令行输入用*.tcl匹配。
我是新手,程序效率不一定最高,但是是对的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top