免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3575 | 回复: 4
打印 上一主题 下一主题

system用法求救 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-10 18:00 |只看该作者 |倒序浏览
my $input_netlist = $ARGV[0];

my @real = qw/3/;
my @imag = qw/-7 -6/;

foreach $real (@real) {
foreach $imag (@imag) {
open (INFILE,"$input_netlist") or die ("Unable to open file\n");
open (OUTFILE,">R${real}_X${imag}_${input_netlist}");
       
while(<INFILE>)
{
   if(/TopDesignName="(.+)"/)
   {
   s/$1/R${real}_X${imag}_AP7101Dd_D1_M5a02a11_loadpull_v1/ig;
   }
   if(/^R=(\d+)/)
   {
   s/$1/$real/ig;
   }
   
   if(/^X=(\d+)/)
   {
   s/$1/$imag/ig;
   }
   print OUTFILE $_;
my $run_ADS = "hpeesofsim R${real}_X${imag}_${input_netlist}";
system("$run_ADS");

}
}
}

close INFILE;
close OUTFILE;

=================================================================
我大概說明一下這個perl會產生兩個outfile(3 -7)跟(3 -6)
我想要產生第一個outfile之後用system去執行程式對第一個outfile跑(會需要一段時間),結束之後再產生第二個outfile再用system對第二個outfile跑

我要怎麼改才能讓perl會等我的system裡面這麼命令結束在繼續產生第二個outfile

謝謝大大

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
2 [报告]
发表于 2014-03-10 18:31 |只看该作者
{:2_169:} 对这个也不是很明白
所以你也可以改改後看看,  大概是
  1. my $input_netlist = $ARGV[0];

  2. my @real = qw/3/;
  3. my @imag = qw/-7 -6/;

  4. foreach $real (@real) {
  5.     foreach $imag (@imag) {
  6.         open( INFILE, "$input_netlist" ) or die("Unable to open file\n");
  7.         open( OUTFILE, ">R${real}_X${imag}_${input_netlist}" );
  8.         while (<INFILE>) {
  9.             if (/TopDesignName="(.+)"/) {
  10.                 s/$1/R${real}_X${imag}_AP7101Dd_D1_M5a02a11_loadpull_v1/ig;
  11.             }
  12.             if (/^R=(\d+)/) { s/$1/$real/ig; }
  13.             if (/^X=(\d+)/) { s/$1/$imag/ig; }
  14.             print OUTFILE $_;
  15.         }
  16.         close OUTFILE;
  17.         close INFILE;
  18.         my $run_ADS = "hpeesofsim R${real}_X${imag}_${input_netlist}";
  19.         system("$run_ADS");
  20.     }
  21. }
复制代码

论坛徽章:
0
3 [报告]
发表于 2014-03-10 19:13 |只看该作者
回复 2# pitonas

system不需要傳送什麼值嗎?
我需要等system跑完 才繼續產生第二個outfile
   

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
4 [报告]
发表于 2014-03-10 19:48 |只看该作者

{:2_172:}  不知道你想要什么?
根据你的代码:
  1. my $run_ADS = "hpeesofsim R${real}_X${imag}_${input_netlist}";
  2. system("$run_ADS");
复制代码
$run_ADS 总计有 2 个值 (1 x 2 x 1)
如果 $input_netlist 有 10000 行
你的代码

system 值1 10000 次
system 值2 10000 次


它可能有一些错误

回复 3# kfcdog0419

{:2_175:} 不知道你想要什么?
   

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
5 [报告]
发表于 2014-03-11 00:40 |只看该作者
看懂不容易~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP