#!c:/Perl/bin/Perl -wT
use strict;#force us to pre-declare variables
use CGI qw/:standard/;
print header;#header type is text/html
require "c:/progra~1/apache~1/apache/cgi-bin/getmenu.cgi";
& java;
my $value = "Angel";
my $lfilename = "products.pdg";
open (FILE, $lfilename) or die "Can't open file!";
my @products;
while ( <FILE> )
{
if ( /^Begin Product (.*)/i ) # We have a product starting line
{
my %hash;
$hash{ 'prodcode' } = $1; # get the product code.
$hash{ 'prodname' } = <FILE>;
$hash{ 'prodprice' } = <FILE>;
$hash{ 'prodweight' } = <FILE>;
my $trackinv = <FILE>;
$hash{ 'tracking' } = ( $trackinv =~ /(Yes|No)/i );
my $img = <FILE>;
my($img2,$img1)=split(/\|/, $img);
$hash{ 'img1'} = $img1;
my $prodtxt = <FILE>;
my ($text1,$text2)=split(/\\/, $prodtxt);
$hash{ 'txt1' } = $text1;
$hash{ 'txt2' } = $text2;
my $line = <FILE>;
last if ( $line =~ /End Product/ );
if ( $line =~ /^\s*Begin Option (.*)$/ )
{
my $name = $1;
my @option_list;
while ( <FILE> )
{
last if ( /End Option/ );
push @option_list, $_;
}
$hash{ $name } = \@option_list;
}
else
{
#if there is no option, then stick what's in front of the :
+as the hash name, the rest as it's value
my ( $name, $value ) = ( $line =~ /^\s*(.*?):(.*)$/ );
$hash{ $name } = $value;
}
push @products, \%hash;
}
}
close (FILE);
print "<HTML>";
print "<TABLE ALIGN\= CENTER>";
print "<TR>";
print "<TD>";
foreach my $ref ( @products )
{
if ($ref->{prodname} =~ ($value))
{
print "<B>";
print $ref->{prodname};
print "</B>";
print "<br>";
print "<IMG SRC\=\"$ref->{img1}\">";
print "<br>";
print $ref->{prodprice};
print "<br>";
print "<a href\=\"shopper\.exe\?preadd\=action\&\;key\=$ref
+->{prodcode}\">", "Add to Cart", "</a>";
#print $ref->{prodtext};
print "<br>";
my $textr1 = "$ref->{txt1}";
my $textr2 = "$ref->{txt2}";
my $subdir = "c:/progra~1/apache~1/apache/cgi-bin/PDG_Cart";
my $filetxt = "/$textr1/$textr2";
my $please = "$subdir$filetxt";
print "$please";
open (FILE, "$please") or die "Can't open file!";
print while <FILE>;
close FILE;
}
}
print "</TD>";
print "</TR>";
print "</TABLE>";
print "<br>";
print "<TABLE>";
|