5 use experimental 'multidimensional';
11 my ($l, $r) = map { eval $_ } split /\n/;
13 $sum += $. if compare($l,$r) == 1;
26 if (!defined $lv && defined $rv) {
28 } elsif (defined $lv && !defined $rv) {
30 } elsif (!defined $lv && !defined $rv) {
32 } elsif (ref $lv && ref $rv) {
33 $comp = compare($lv, $rv);
34 } elsif (ref $lv && !ref $rv) {
35 $comp = compare($lv, [$rv]);
36 } elsif (!ref $lv && ref $rv) {
37 $comp = compare([$lv], $rv);
38 } elsif (!ref $lv && !ref $rv) {
39 $comp = $rv <=> $lv if $lv != $rv;
44 return $comp if defined $comp;