| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
32
|
|
|
32
|
|
294
|
use Perlmazing qw(is_number to_number); |
|
|
32
|
|
|
|
|
83
|
|
|
|
32
|
|
|
|
|
183
|
|
|
2
|
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
sub main ($$) { |
|
4
|
0
|
|
|
0
|
|
|
my ($aa, $bb) = ($_[0], $_[1]); |
|
5
|
0
|
0
|
0
|
|
|
|
if (is_number $aa and is_number $bb) { |
|
|
|
0
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
6
|
0
|
|
|
|
|
|
my $r = to_number($aa) <=> to_number($bb); |
|
7
|
0
|
0
|
|
|
|
|
return $r if $r; |
|
8
|
0
|
|
|
|
|
|
$aa cmp $bb; |
|
9
|
|
|
|
|
|
|
} elsif (is_number $aa) { |
|
10
|
0
|
|
|
|
|
|
-1; |
|
11
|
|
|
|
|
|
|
} elsif (is_number $bb) { |
|
12
|
0
|
|
|
|
|
|
1; |
|
13
|
|
|
|
|
|
|
} elsif (defined($aa) and defined($bb)) { |
|
14
|
0
|
0
|
0
|
|
|
|
if ($aa =~ /\d/ and $bb =~ /\d/) { |
|
15
|
0
|
|
|
|
|
|
my @split_a = split /(\d+)/, $aa; |
|
16
|
0
|
|
|
|
|
|
my @split_b = split /(\d+)/, $bb; |
|
17
|
0
|
|
|
|
|
|
my $current_sort = 0; |
|
18
|
0
|
|
|
|
|
|
my $cmp_sort = ''; |
|
19
|
0
|
|
|
|
|
|
while (1) { |
|
20
|
0
|
|
|
|
|
|
my $break = 1; |
|
21
|
0
|
0
|
0
|
|
|
|
last unless @split_a and @split_b; |
|
22
|
0
|
|
|
|
|
|
my ($aa, $bb) = (shift(@split_a), shift(@split_b)); |
|
23
|
0
|
0
|
0
|
|
|
|
if (is_number $aa and is_number $bb) { |
|
|
|
0
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
24
|
0
|
|
|
|
|
|
$current_sort = $aa <=> $bb; |
|
25
|
0
|
0
|
|
|
|
|
unless ($current_sort) { |
|
26
|
0
|
|
|
|
|
|
$current_sort = $aa cmp $bb; |
|
27
|
0
|
0
|
|
|
|
|
$cmp_sort = $current_sort unless $cmp_sort; |
|
28
|
0
|
|
|
|
|
|
$break = 0; |
|
29
|
|
|
|
|
|
|
} |
|
30
|
|
|
|
|
|
|
} elsif (is_number $aa) { |
|
31
|
0
|
|
|
|
|
|
$current_sort = -1; |
|
32
|
|
|
|
|
|
|
} elsif (is_number $bb) { |
|
33
|
0
|
|
|
|
|
|
$current_sort = 1; |
|
34
|
|
|
|
|
|
|
} else { |
|
35
|
0
|
|
|
|
|
|
$current_sort = $aa cmp $bb; |
|
36
|
|
|
|
|
|
|
} |
|
37
|
0
|
0
|
0
|
|
|
|
return $current_sort if $current_sort and $break; |
|
38
|
|
|
|
|
|
|
} |
|
39
|
0
|
0
|
|
|
|
|
return $cmp_sort if $cmp_sort; |
|
40
|
0
|
|
|
|
|
|
$current_sort; |
|
41
|
|
|
|
|
|
|
} else { |
|
42
|
0
|
|
|
|
|
|
$aa cmp $bb; |
|
43
|
|
|
|
|
|
|
} |
|
44
|
|
|
|
|
|
|
} elsif (defined $aa) { |
|
45
|
0
|
|
|
|
|
|
1; |
|
46
|
|
|
|
|
|
|
} elsif (defined $bb) { |
|
47
|
0
|
|
|
|
|
|
-1; |
|
48
|
|
|
|
|
|
|
} else { |
|
49
|
0
|
|
|
|
|
|
0; |
|
50
|
|
|
|
|
|
|
} |
|
51
|
|
|
|
|
|
|
} |
|
52
|
|
|
|
|
|
|
|