In buildtoc, accumulate all perltoc.pod content before outputting it to disk.
authorNicholas Clark <nick@ccl4.org>
Fri, 21 Jan 2011 14:15:34 +0000 (14:15 +0000)
committerNicholas Clark <nick@ccl4.org>
Fri, 21 Jan 2011 15:06:46 +0000 (15:06 +0000)
pod/buildtoc

index 4b9d9e6..2131bcd 100644 (file)
@@ -319,9 +319,10 @@ close MASTER;
 
 sub output ($);
 
+my $OUT;
+
 sub output_perltoc {
   my $filename = shift;
-  open OUT, '>', $filename or die "$0: creating $filename failed: $!";
 
   local $/ = '';
 
@@ -404,6 +405,9 @@ EOPOD2B
   s/^\t//gm;
   output $_;
   output "\n";                    # flush $LINE
+
+  open OUT, '>', $filename or die "$0: creating $filename failed: $!";
+  print OUT $OUT;
   close OUT;
 }
 
@@ -496,11 +500,11 @@ sub output ($) {
     for (split /(\n)/, shift) {
        if ($_ eq "\n") {
            if ($LINE) {
-               print OUT wrap('', '', $LINE);
+               $OUT .=  wrap('', '', $LINE);
                $LINE = '';
            }
            if (($NEWLINE) < 2) {
-               print OUT;
+               $OUT .= $_;
                $NEWLINE++;
            }
        }