The CSV file is:#!c:/perl/bin/perl use strict; use warnings; #opening the csv file my $caption=pop(@ARGV); open(FH,$caption) || die("Cannot open $caption file"); my($line,$id,$name,$age,@records,@out); @out="<HTML><HEAD><TITLE>CSV Output</TITLE></HEAD><body><table border= +1><tr><td>ID</td><td>NAME</td><td>AGE</td>"; #creating a new file for the html output and writing the header conten +t open(FH1,">output.html"); print FH1 @out; #splitting the comma separated values and writing it to the html file while($line=<FH>){ next if($line=~/^ID/); chomp($line); ($id,$name,$age)=split(/,/,$line); print FH1 "<tr><td>$id</td><td>$name</td><td>$age</td></tr>"; } print FH1 "</table>"; close FH1; close FH;
The HTML output which i got is:ID,NAME,AGE 1,JOHN,21 2,MARK,32 3,CATHY,21
Method 2:<HTML><HEAD><TITLE>CSV Output</TITLE></HEAD><body><table border=1><tr> +<td>ID</td><td>NAME</td><td>AGE</td><tr><td>1</td><td>Alex</td><td>24 +</td></tr><tr><td>2</td><td>Bret</td><td>21</td></tr><tr><td>3</td><t +d>Cathy</td><td>24</td></tr></table>
#!c:/perl/bin/perl use strict; use warnings; $\="\n"; my($caption,$line,@out,@rec,$x,@output); #opening the csv file $caption=pop(@ARGV); open(FH,$caption) || die("Cannot open $caption file"); #print '<table border cellspacing=0 cellpadding=5>'; #print '<caption>' . $caption . '</caption>'; @out="<HTML><HEAD><TITLE>CSV Output</TITLE></HEAD><body><table border +cellspacing=0 cellpadding=5><caption>$caption</caption>"; open(FH1,">gen_try.html"); print FH1 @out; while($line=<FH>){ chomp($line) ; @rec = split(/,/, $line); $x=0; print '<tr>'; while($x <= $#rec){ print FH1 "\t <td>". $rec[$x] . '</td>'; ++$x; } print '</tr>'; } print '</table>';
In reply to Better Code Solution needed for the below CSV file parsing and printing in HTML format by valavanp
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |