require 5.003; # keep this compatible, an old perl is all we may have before
# we build the new one
-BEGIN { push @INC, 'lib' } # glob() below requires File::Glob
+BEGIN {
+ push @INC, 'lib';
+ require 'regen_lib.pl';
+} # glob() below requires File::Glob
#
$F = $filename;
}
else {
+ safer_unlink $filename;
open F, ">$filename" or die "Can't open $filename: $!";
$F = \*F;
}
print $F $function->(@args);
}
print $F $trailer if $trailer;
- close $F unless ref $filename;
+ unless (ref $filename) {
+ close $F or die "Error closing $filename: $!";
+ }
}
my %apidocs;
close F or die "Error closing $file: $!\n";
}
-unlink "pod/perlapi.pod";
+safer_unlink "pod/perlapi.pod";
open (DOC, ">pod/perlapi.pod") or
die "Can't create pod/perlapi.pod: $!\n";
_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) {
_EOE_
-close(DOC);
+close(DOC) or die "Error closing pod/perlapi.pod: $!";
+safer_unlink "pod/perlintern.pod";
open(GUTS, ">pod/perlintern.pod") or
die "Unable to create pod/perlintern.pod: $!\n";
print GUTS <<'END';
END
-close GUTS;
-
+close GUTS or die "Error closing pod/perlintern.pod: $!";