$ perl -MO=Deparse,-p -e 'my $l = ref $a eq "ARRAY" ? ($a->[0] || $->[1]) : $a;'
(my $l = ((ref($a) eq 'ARRAY') ? ($a->[0] || ($- > [1])) : $a));
-e syntax OK
####
# Deal with the case of an item actually being an array ref to 1 or 2
# hashrefs. Don't assign to $a or $b, as they're aliases to the orignal
my $l = ref $a eq 'ARRAY' ? ($a->[0] || $->[1]) : $a;
my $r = ref $b eq 'ARRAY' ? ($b->[0] || $->[1]) : $b;
##
##
my $l = ref $a eq 'ARRAY' ? ($a->[0] || $a->[1]) : $a;
my $r = ref $b eq 'ARRAY' ? ($b->[0] || $b->[1]) : $b;