Thankfully, view source restores the newlines that html ignores when displaying.
Here's the OP's code, I think: (to the OP: always always *always* use preview first.)
#!/usr/bin/perl
# ELink (batch) - EFetch
use strict;
use NCBI_PowerScripting;
my (%params, %links);
my @db = qw(protein nucleotide, gene);
my $link;
my $dir ='/home/';
opendir (DIR,$dir)or die $!;
while (my $file = readdir (DIR)) {
next unless (-f "$dir/$file");
next unless ($file =~m/\. gi$/);
my @data;
open (MYFILE,$file) or die "cannot open $file:$!";
open (OUT,">$file.data") or die "cannot open $file:$!";
#ELink
$params{db} = $db[0];
$params{id} = '';
%links = elink_batch_to($db<a href="?node=1">1</a>, %params);
#EFetch
foreach $link (keys %links) {
%params = extract_links($link, %links);
$params{outfile} = $link . '.dat';
$params{retmode} = 'text';
if ($link =~ /nuccore/) {
$params{rettype} = 'fasta';
}
efetch_batch(%params);
print nuccore;
}