1#!/usr/bin/perl 2 3{ 4 my $line; 5 $iocount = 0; 6 $filecount = 0; 7 while($line = <STDIN>) 8 { 9 while($line =~ /^name,/) 10 { 11 $line = <STDIN>; 12 } 13 process($line); 14 } 15 printIOData(); 16 17 printFileData(); 18} 19 20sub IOHeader 21{ 22 my $version = '1.03d'; 23print "Version $version ------Sequential Output------ --Sequential Input- --Random-\n"; 24print " -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--\n"; 25print "Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP\n"; 26} 27 28sub FileHeader 29{ 30print " ------Sequential Create------ --------Random Create--------\n"; 31print " -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--\n"; 32print "files:max:min /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP\n"; 33} 34 35sub process 36{ 37 my($line) = @_; 38 39 chop($line); 40 my $name = $line; 41 $name =~ s/,.*$//; 42 $line =~ s/$name,//; 43 44# $ioline contains the file-IO data, IE we strip off the data on file creation 45 my $ioline = $line; 46 $ioline =~ s/,[:0-9\-\+.\/]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+,[0-9\+.]+$//; 47 $ioline =~ s/,,,,,,,,,,,,,$//; 48 if(join('', split(/,/,$ioline)) != "") 49 { 50 $io[$iocount] = $name . "," . $ioline; 51 $iocount++; 52 } 53# $fileline contains the file creation data - everything but $ioline 54 my $fileline = substr($line, length($ioline)); 55 if(join('', split(/,/,$fileline)) != "") 56 { 57 $file[$filecount] = $name . $fileline; 58 $filecount++; 59 } 60} 61 62sub printFileData 63{ 64 if($filecount < 1){ return; } 65 FileHeader(); 66 for($i = 0; $i < $filecount; $i++) 67 { 68 @arr = split(/,/,$file[$i]); 69 my $size = $arr[1]; 70 $size =~ s/:0:0:/\//; 71 my $desc = $arr[0] . " "; 72 $desc = substr($desc, 0, 18 - length($size) ); 73 $desc .= " " . $size; 74 printf(STDOUT "%19s %5s %3s %5s %3s %5s %3s %5s %3s %5s %3s %5s %3s\n" 75 , $desc, $arr[2], $arr[3], $arr[4], $arr[5], $arr[6], $arr[7] 76 , $arr[8], $arr[9], $arr[10], $arr[11], $arr[12], $arr[13] 77 , $arr[14], $arr[15]); 78 } 79} 80 81sub printIOData 82{ 83 if($iocount < 1){ return; } 84 IOHeader(); 85 for($i = 0; $i < $iocount; $i++) 86 { 87 @arr = split(/,/,$io[$i]); 88 my $size = $arr[1]; 89 my $desc = $arr[0] . " "; 90 $desc = substr($desc, 0, 18 - length($size) ); 91 $desc .= " " . $size; 92 printf(STDOUT "%19s %5s %3s %5s %3s %5s %3s %5s %3s %5s %3s %5s %3s\n" 93 , $desc, $arr[2], $arr[3], $arr[4], $arr[5], $arr[6], $arr[7] 94 , $arr[8], $arr[9], $arr[10], $arr[11], $arr[12], $arr[13] 95 , $arr[14], $arr[15]); 96 } 97} 98 99