Convert triplicated code in lib/Pod/t/eol.t to a loop.
authorNicholas Clark <nick@ccl4.org>
Tue, 7 Feb 2012 15:59:23 +0000 (16:59 +0100)
committerNicholas Clark <nick@ccl4.org>
Wed, 8 Feb 2012 16:59:32 +0000 (17:59 +0100)
lib/Pod/t/eol.t

index 784608a..a159fb7 100644 (file)
@@ -36,44 +36,20 @@ close $pod or die $!;
 
 use Pod::Html;
 
-# --- CR ---
-
-open $pod, '<', $podfile or die "$podfile: $!";
-open my $in, '>', $infile  or die "$infile: $!";
-while (<$pod>) {
-  s/[\r\n]+/\r/g;
-  print $in $_;
-}
-close $pod or die $!;
-close $in or die $!;
-
-pod2html("--title=eol", "--infile=$infile", "--outfile=$outfile[0]");
-
-# --- LF ---
-
-open $pod, '<', $podfile or die "$podfile: $!";
-open $in,  '>', $infile  or die "$infile: $!";
-while (<$pod>) {
-  s/[\r\n]+/\n/g;
-  print $in $_;
-}
-close $pod or die $!;
-close $in or die $!;
-
-pod2html("--title=eol", "--infile=$infile", "--outfile=$outfile[1]");
-
-# --- CRLF ---
+my $i = 0;
+foreach my $eol ("\r", "\n", "\r\n") {
+    open $pod, '<', $podfile or die "$podfile: $!";
+    open my $in, '>', $infile  or die "$infile: $!";
+    while (<$pod>) {
+       s/[\r\n]+/$eol/g;
+       print $in $_;
+    }
+    close $pod or die $!;
+    close $in or die $!;
 
-open $pod, '<', $podfile or die "$podfile: $!";
-open $in,  '>', $infile  or die "$infile: $!";
-while (<$pod>) {
-  s/[\r\n]+/\r\n/g;
-  print $in $_;
+    pod2html("--title=eol", "--infile=$infile", "--outfile=$outfile[$i]");
+    ++$i;
 }
-close $pod or die $!;
-close $in or die $!;
-
-pod2html("--title=eol", "--infile=$infile", "--outfile=$outfile[2]");
 
 # --- now test ---
 
@@ -81,7 +57,7 @@ my @cksum;
 
 foreach (0..2) {
     local $/;
-    open $in, '<', $outfile[$_] or die "$outfile[$_]: $!";
+    open my $in, '<', $outfile[$_] or die "$outfile[$_]: $!";
     $cksum[$_] = unpack "%32C*", <$in>;
     close $in or die $!;
 }