# [APL (Dyalog Unicode)], <s>18</s> 17 bytes

*1 byte saved thanks to @Adám for using `⍤1` instead of `∘↑(...)¨` and by changing the input format from a nested array to a matrix*

<!-- language-all: lang-apl -->

    (⍋-⍒)(⍎¨∊∘⎕D⊆⊢)⍤1

[Try it online!][TIO-jlc1jcd9]

[APL (Dyalog Unicode)]: https://www.dyalog.com/
[TIO-jlc1jcd9]: https://tio.run/##ZU5LCsIwEF17kjZghySkNtl7kYLUTUG3XqCUSsUKgmtx0XP0KHORmDafRoRMeJ@ZxyvPdXa4lPXpqHWFzT3F/pph/yAG3KYR2w7bF96ee@wa7N4E@w/TGpuhMmYzTGOabhOeEPOzhJDNTBlQoH@SFazlRQ7C3c4w2maQ7wqpghfdMJ/EoxyvsXzdlECFlSUIrxZAXUAB8qcwRB3p/EK@pZQtLrW7wbNkQUEU3EWJuLpSCswshsPrCadzX@myHDPmFw "APL (Dyalog Unicode) – Try It Online"

Takes the input as a matrix of chars as the right argument, where each version string is on its own row. Outputs `¯1 1`, `0 0`, `1 ¯1` for `<`, `=`, `>` respectively.

`(⍎¨∊∘⎕D⊆⊢)⍤1` on each row

- `∊∘⎕D⊆⊢` group all occurrences of digits, that is, split on `.`

- `⍎¨` and convert each of these occurrences to a number

`↑` convert to a matrix, where the first input is on the top row and the second one in the bottom, padding with `0`s where necessary

`(⍋-⍒)` and

- `-` subtract
    - `⍒` the indices of the rows sorted in descending order
    - `⍋` from the indices of the rows sorted in ascending order