This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In regen_lib.pl, when opening, first unlink a previous file of that name.
[perl5.git] / regen / regen_lib.pl
index 4ea2cf6..880a975 100644 (file)
@@ -63,16 +63,19 @@ sub rename_if_different {
 # Saf*er*, but not totally safe. And assumes always open for output.
 sub safer_open {
     my $name = shift;
 # Saf*er*, but not totally safe. And assumes always open for output.
 sub safer_open {
     my $name = shift;
+    if (-f $name) {
+       unlink $name or die "$name exists but can't unlink: $!";
+    }
     my $fh = gensym;
     open $fh, ">$name" or die "Can't create $name: $!";
     my $fh = gensym;
     open $fh, ">$name" or die "Can't create $name: $!";
-    *{$fh}->{SCALAR} = $name;
+    *{$fh}->{name} = $name;
     binmode $fh;
     $fh;
 }
 
 sub safer_close {
     my $fh = shift;
     binmode $fh;
     $fh;
 }
 
 sub safer_close {
     my $fh = shift;
-    close $fh or die 'Error closing ' . *{$fh}->{SCALAR} . ": $!";
+    close $fh or die 'Error closing ' . *{$fh}->{name} . ": $!";
 }
 
 sub read_only_top {
 }
 
 sub read_only_top {