Skip to content

Commit 6a026a8

Browse files
ysthjonallen
authored andcommitted
index-history.html: sort 5.10+ delta files properly
1 parent dffb50e commit 6a026a8

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

lib/Perldoc/Section.pm

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ our @section_data = (
5858
pages => [qw/perlhist perltodo perldelta/],
5959
pagematch => qr/^perl\d+delta$/,
6060
sort => sub {
61-
(my $c = $a) =~ s/.*?(\d)(\d+).*/$1.$2/;
62-
(my $d = $b) =~ s/.*?(\d)(\d+).*/$1.$2/;
61+
(my $c = $a) =~ s/.*?(\d{2,}).*/_perldelta_version_to_numeric("$1")/e;
62+
(my $d = $b) =~ s/.*?(\d{2,}).*/_perldelta_version_to_numeric("$1")/e;
6363
$d <=> $c
6464
}
6565
},
@@ -141,6 +141,20 @@ sub pages {
141141
}
142142

143143

144+
#--------------------------------------------------------------------------
145+
146+
sub _perldelta_version_to_numeric {
147+
my $delta_version = shift;
148+
# 5005 -> 5.005
149+
# 56 -> 5.006
150+
# 561 -> 5.006001
151+
# 5101 -> 5.010001
152+
# 51010 -> 5.010010 (no such delta files currently)
153+
my ($revision, $version, $subversion) = $delta_version =~ /^(\d)0*(\d(?=\d?\z)|\d\d)(\d*)/;
154+
return sprintf('%d.%03d%03d', $revision, $version, $subversion || 0);
155+
}
156+
157+
144158
#--------------------------------------------------------------------------
145159

146160
1;

0 commit comments

Comments
 (0)