You can change the line:
$_->[0] <=> $_->[1]
to
$_[0] <=> $_[1]
or
@_->[0] <=> @_->[1]
and even insanely to
@{[shift]}->[0] <=> @{[shift]}->[0]
And it will work.
The last last solution is highly perl implementation dependent, it will not work if the order of evaluation changes in the future. I came up with it just to see if I could compare two shift's directly for fun. And yes it works. :)