my $docs = "";
DOC:
while (defined($doc = <$fh>)) {
- if ($doc =~ /^=head1 (.*)/) {
- $curheader = $1;
- next DOC;
- }
$line++;
last DOC if $doc =~ /^=\w+/;
if ($doc =~ m:^\*/$:) {
$docfuncs{$name} = [$flags, $docs, $ret, $file, $curheader, @args];
}
if (defined $doc) {
- if ($doc =~ /^=for/) {
+ if ($doc =~ /^=(?:for|head)/) {
$in = $doc;
redo FUNC;
}
_EOB_
my $key;
-for $key (sort { uc($a) cmp uc($b); } keys %apidocs) { # case insensitive sort
+# case insensitive sort, with fallback for determinacy
+for $key (sort { uc($a) cmp uc($b) || $a cmp $b } keys %apidocs) {
my $section = $apidocs{$key};
print DOC "\n=head1 $key\n\n=over 8\n\n";
for my $key (sort { uc($a) cmp uc($b); } keys %$section) {