#!/usr/local/bin/perl # (c) 1999 Joe@Brignola.org # Freeware but supplied AS IS # Adjust this line to point to the input file $FILENAMEIN = "SHOPCART.CSV"; $HTTPLOC = "http://www.xxxxxx.com/cgibin/store/perlshop.cgi"; $TOC = "Init"; #$AGE = int(-M $PHONETEXT); open(IN,"<$FILENAMEIN")|| die "Can't find data file ? $!"; $i = 0; #get first record while () { chop; ($companyname, $companynameC,$filenameprefix, $lastpagenumber, $titleofpage,$titleofpageC,$border,$cellpadding,$cellspacing) = split(/,/, $_); last; } #get second record while () { chop; ($pageL,$itemidL,$itemnameL,$descL,$itempriceL,$priceL, $itemweightL,$itemtaxtypeL,$itemoptions1L,$itemoptions2L,$itemoptions3L, $qtyL,$addtldescL) = split(/,/, $_); last; } #get third record while () { chop; ($pageC,$itemidC,$itemnameC,$descC,$itempriceC,$priceC, $itemweightC,$itemtaxtypeC,$itemoptions1C,$itemoptions2C,$itemoptions3C, $qtyC,$addtldescC,$orderC) = split(/,/, $_); last; } #get rest of data while(){ chop; $i++; s#"(.*)""(.*)""(.*)"#$1"$2"#; $list{$i} = $_; } $numofrecords=$i; $holdpage = 0; #### records all read in; generate HTML print <<"XXX"; Name===> <$companyname, $filenameprefix, $lastpagenumber>, #$numofrecords XXX nextloop: for ($n=1; $n<=$numofrecords; $n++) { ($page,$itemid,$itemname,$desc,$itemprice,$price, $itemweight,$itemtaxtype,$itemoptions1,$itemoptions2,$itemoptions3, $qty,$addtldesc) = split(/,/, $list{$n}); ###check for TOC records if ($page eq "toc") { #print $list{$n},"\n"; #print ""; if ($TOC eq "Init") { #print ""; $TOC = "TOC Started"; print OUT ""; close OUT; $temp0 = "0"; $temp1 = "1"; open(OUT,">$filenameprefix$temp0.htm"); print OUT <<"XXX"; Table of Contents

Table of Contents

XXX next nextloop; } else { #print ""; ($page,$Cat,$Subcat,$ref) = split(/,/, $list{$n}); #print $page,$Cat; if ($Cat eq "") { #print ""; print OUT <<"XXX";

$Subcat

XXX next nextloop; } else { #print ""; print OUT <<"XXX";

$Cat

XXX next nextloop; } } } ###check for page break? if ($page != $holdpage) { $prevpage = $page; #if ($prevpage > 1) {($prevpage--)}; ($prevpage--); $nextpage = $page + 1; if ($nextpage > $lastpagenumber) {($nextpage = $page)}; if ($prevpage = -1 ) {($prevpage = 1)}; print OUT ""; if ($holdpage != 0) {close OUT;} $holdpage = $page; open(OUT,">$filenameprefix$page.htm"); print OUT <<"XXX"; $companyname XXX } #end of page break code print OUT <<"XXX"; XXX ####$page,$itemid,$itemname,$desc,$itemprice,$price,$itemweight,$itemtaxtype,$itemoptions1,$itemoptions2,$itemoptions3,$qty,$addtldesc } if ($lastpagenumber = 1 ) {(print OUT "

$companyname

$titleofpage

$itemidL
$descL
$itemoptions1L
$priceL
Order?
$qtyL
$itemid$desc$itemoptions1$price
")}; print OUT ""; print OUT ""; close OUT;