web.pl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #!/usr/bin/perl -w
  2. use strict 'refs';
  3. use strict 'subs';
  4. if ($#ARGV !=3 ) {
  5.   &usage;
  6.   exit;
  7. }
  8. sub usage {
  9.   print STDERR " usage: $0 <flowfile> <tmpfile> <time> <-|+>n";
  10.   exit;
  11. }
  12. my $time = $ARGV[2] - 10;
  13. my $sign = $ARGV[3];
  14. my $command2 = "awk '{if ($4 > 0 && $4<= 11) { if ($2==50) start[$4]=$6; if ($2==$time) bw[$4]=8*($6 - start[$4])/(($time-50)*1000000)}} END {for (i=1; i<=11; i++) print (i $sign 0.125), bw[i]}' $ARGV[0] > data${sign}boxes";
  15. system($command2);
  16. open(TMPF, "$ARGV[1]") or die "Cannot open $ARGV[1]: $!n";
  17. my $outfile = "data${sign}cdf";
  18. open(OUTF, ">$outfile") or die "Cannot open $outfile: $!n";
  19. my $total=0;
  20. while (<TMPF>) {
  21.   @line = split;
  22.   if (/done-resp/ and $line[6] > 50) {
  23. $time=$line[7] - $line[6];
  24. print OUTF "1 $timen";
  25. $total++;
  26.   }
  27. }
  28. close(TMPF);
  29. close(OUTF);
  30. system("sort -n +1 -2 $outfile -o $outfile");
  31.   
  32. open(FILE, "$outfile") or die "Cannot open $outfile: $!n";
  33. open(OUTF,">$outfile.cdf") or die "Cannot open bad.cdf : $!n";
  34.   
  35. my $frac = 0;
  36. while (<FILE>) {
  37.   ($f1, $f2) = split;
  38.   $frac += $f1/$total;
  39.   
  40.   print OUTF "$f2 $fracn";
  41. }
  42. close(FILE);
  43. close(OUTF);