- if $bytes[0] & 0x07 > 5
- || $bytes[1] & 0x07 > 5
- || $bytes[2] & 0x07 > 5
- || $bytes[3] & 0x07 > 5
- || $bytes[4] & 0x07 > 5
- || $bytes[5] & 0x07 > 5;
+ if ($bytes[0] != 0xFF && ($bytes[0] & 0x07) > 5)
+ || ($bytes[1] != 0xFF && ($bytes[1] & 0x07) > 5)
+ || ($bytes[2] != 0xFF && ($bytes[2] & 0x07) > 5)
+ || ($bytes[3] != 0xFF && ($bytes[3] & 0x07) > 5)
+ || ($bytes[4] != 0xFF && ($bytes[4] & 0x07) > 5)
+ || ($bytes[5] != 0xFF && ($bytes[5] & 0x07) > 5);
+
+ my @standings;
+
+ push @standings, map { $_ != 0xFF ? $_ & (0x07) : () } @bytes;