#!/opt/bin/perl


# s0|v|s,XXX,2-4-8-10-4-8-10/6-4-8-10-4-8-10,8,F0F0F0|switch:100000c0dd00885d=172.20.67.
# 00|e|f||s1,4|s0,2
#5|e|E|3/0, 05-04 11:29:12 CRC-ERROR(5/1067 mins):,C|a0,1|s0,3

@files = ('t1','t2','t3');

foreach $f (@files) {
  open(O, $f);
  while ($l = <O>) {
    chop($l);
    next if ($l eq "");
    @b = split(/\|/, $l);  # break  fields

    if ($b[1] eq "v") { # nodes
      ($key, $rest) = split(/[,=]/, $b[3], 2);  # extract key
      $K2{$b[0]} = $key;

      if ($K{$key}) {
         next;              # already there
      } else {
         $K{$key} = $b[0];  # save name
      }
      $line = join("|", @b);

    } else {   # links
       ($k1, $p1) = split(/,/, $b[4]); 
       ($k2, $p2) = split(/,/, $b[5]); 
       
       $k1 = $K{$K2{$k1}} if ($K2{$k1});  # connect
       $k2 = $K{$K2{$k2}} if ($K2{$k2});  # connect

       $b[4] = "$k1,$p1";  # rebuild
       $b[5] = "$k2,$p2";
       $line = join("|", @b);
    }
    print $line . "\n";
  }
  close(O);
}
