#!/usr/bin/perl 

# close, but not done.  EPP_total doesn't look right

open(INPUT, "/tmp/wm/system.comms");
  while ($line = <INPUT>) { 
      chomp $line;
      if ($line =~ /:/) {
           ($field1,$field2,$field3,$field4,$field5) = split(/:/,$line);
            ($id, $site, $cc, $misc) = split(/\./,$field2);
            push(@not_sorted,$site);
      }
 }
close(INPUT);

# create unique list of site numbers
  undef %array;
  @array{@not_sorted} = ();
  @sorted_site = sort keys %array;

  foreach $x (@sorted_site) 
  {
          @lines =  `grep -E ":" /tmp/wm/system.comms | grep -vE "\#"`;
          if(@lines) {
               foreach $line (@lines) {
                      ($field1,$field2,$field3,$field4,$field5) = split(/:/,$line);
                      ($id, $site, $cc, $misc) = split(/\./,$field2);

                       if ($site eq $x)  {
                            if ($line =~ /BPP/ )
                               { $siteBPPnumb = $siteBPPnumb + 1 ;
                                 push(@un_sorted,$cc);
                               }
                            if ($line =~ /^AMC/ ){ $siteAMCnumb = $siteAMCnumb + 1 };
                            if ($line =~ /^EPP/ ){ $siteEPPnumb = $siteEPPnumb + 1 };
                       }
              }  

                   # create unique list of cc numbers
                   undef %CageArray;
                   @CageArray{@un_sorted} = ();
                   @sorted_ccages = sort keys %CageArray;
                   $siteCCnumb = scalar @sorted_ccages;

                   $TotalBPPs = $TotalBPPs + $siteBPPnumb;
                   $TotalAMCs = $TotalAMCs + $siteAMCnumb;
                   $TotalEPPs = $TotalEPPs + $siteEPPnumb;
                   $TotalCCs =  $TotalCCs  + $siteCCnumb;

         print "site:$x  bpps:$siteBPPnumb amcs:$TotalAMCs  epps:$TotalEPPs ccages:$siteCCnumb\n";

                   $siteBPPnumb = 0;
                   $siteAMCnumb = 0;
                   $siteEPPnumb = 0;
                   $siteCCnumb  = 0;
                   @un_sorted = ();
         }
 }

 print "total: BPPs:$TotalBPPs AMCs:$TotalAMCs EPPs:$TotalEPPs CardCages:$TotalCCs\n";;
close(INPUT);

