# $type consisting of one of ( fin, syn, rst, ack )
#my @packetlog = (
# {
# '$source:$port' => [ $type, $seq, $length ],
# 'packet' => [ $frame, $src, $dest, $deltaT, $abs, $rel, $cumu, $byt ],
# }
# );
####
map {
my( $v, $k ) = keys %$_;
my $val = $v =~ /pack/ ? $k : $v;
my( $src, $srcP, $dst, $dstP ) = split /:/, $val;
my( $low, $high ) = sort { $a cmp $b } ( "$src:$srcP", "$dst:$dstP" );
my $key = $high . '-' . $low;
[ $key, $srcP, $_ ]
}
####
$,=42;for(34,0,-3,9,-11,11,-17,7,-5){$*.=pack'c'=>$,+=$_}for(reverse split//=>$*
){$%++?$ %%2?push@C,$_,$":push@c,$_,$":(push@C,$_,$")&&push@c,$"}$C[$#C]=$/;($#C
>$#c)?($ c=\@C)&&($ C=\@c):($ c=\@c)&&($C=\@C);$%=$|;for(@$c){print$_^$$C[$%++]}