File A
Server,Avg CPU,P95 CPU,Avg Mem Util,P95 Mem Util
WSOMQAVPRA05,93.75,95.87,66.67,68.13
wsomdavpra03,90.39,94,65.77,68.51
wsomddvfxa01,39.22,92.19,82.59,88.25
wsomddvfxa01,35.45,89.23,79.89,83.24
File B
Server,Avg CPU,P95 CPU,Avg Mem Util,P95 Mem Util
WSOMQAVPRA05,34.78,100,55.1,67.6
wsomdavpra03,69.04,98.55,84.07,89.73
wsomddvfxa01,92.44,97.54,67.72,71.69
wsompapgtw05,48.77,96.9,92.1,93.55
File C
Server,Avg CPU,P95 CPU,Avg Mem Util,P95 Mem Util
WSOMQAVPRA05,93.13,98.11,68.95,73.47
wsomdavpra03,68.85,97.56,76.35,98.23
wsomddvfxa01,46.97,96.29,88.23,94.02
wsompapgtw05,30.66,93.74,39.89,71.35
####
File OUT
WSOMQAVPRA05,93.75,34.78,93.13
wsomdavpra03,90.39,69.04,68.85
wsomddvfxa01,39.22,92.44,46.97
wsompapgtw05,0,48.77,30.66
####
#!/usr/bin/perl
use strict;
use warnings;
################################################
#
# Create File with Avg CPU Numbers for each Server # Name
#
###############################################
my %usage;
my $files = 0;
for my $file (”sfull1ns.dat”,”sfull2ns.dat”,”sfull3ns.dat”) {
open (my $fh,”<”,$file) or die “Can’t open file $file: $!”;
while (my $line = <$fh>) {
chomp($line);
my ($server, @data) = (split(“,”,$line));
if ($data[0] lt “!” ) {
$data[0] = 0;
}
next if grep /[^0-9.]/, @data;
$usage{$server} = [] unless exists $usage{$server};
push @{$usage{$server}}, 0 while @{$usage{$server}} < $files;
push @{$usage{$server}}, $data[0];
}
continue {
$files++ if eof;
}
close $fh or die “Can’t close file $file: $!”;