I wrote this code to read an excel csv file with five records per line. However, the
<tr> shows up at the beginning of the output file and the
</tr> shows up at the end. I want to get them to show up at the beginning and end of each line.
Is the probem with my CSV or my code. I can't see straight anymore :(
use CGI qw(:standard);
use strict;
use warnings;
my $line;
my $file;
my ($f1,$f2,$f3,$f4,$f5);
my $output = "new.htm";
open (OUTPUT, ">$output") or die "Cannot open $output";
my $z=0;
$file='irregular-verbs.csv';
open(F,$file)||die("Could not open $file");
while ($line=<F>)
{
print OUTPUT "<tr>";
my @cells= split ',',$line;
foreach my $cell (@cells)
{
print OUTPUT "<td>$cell</td>";
}
print OUTPUT "</tr>";
}
close(F);
First few lines of the OUTPUT file.
<tr><td>Base Form</td><td>Past Simple</td><td>Past Participle</td><td>
+3rd Person Singular</td><td>Present Participle / Gerund
Abide</td><td>Abode/Abided</td><td>Abode/Abided/Abidden</td><td>Abides
+</td><td>Abiding
Aby/Abye</td><td>Abought</td><td>Abought</td><td>Abys/Abyes</td><td>Ab
+ying
Alight</td><td>Alit/Alighted</td><td>Alit/Alighted</td><td>Alights</td
+><td>Alighting
Arise</td><td>Arose</td><td>Arisen</td><td>Arises</td><td>Arising
Awake</td><td>Awoke</td><td>Awoken</td><td>Awakes</td><td>Awaking
Thanks for your help!