in reply to how to hash this
#!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 = "Zen"; my $lfilename = "products.pdg"; open (FILE, $lfilename) or &dienice; 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($img1,$img2)=split(/\|/, $img); $hash{ 'img1'} = $img1; $hash{ 'img2'} = $img2; $hash{ 'prodtext' } = <FILE>; 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 ha +sh name, the rest as it's value my ( $name, $value ) = ( $line =~ /^\s*(.*?):(.*)$/ ); $hash{ $name } = $value; } push @products, \%hash; 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->{img2}\">"; print "<br>"; print $ref->{prodprice}; print "<br>"; print "<a href\=\"shopper\.exe\?preadd\=action\&\;key\=$ref->{prodc +ode}\">", "Add to Cart", "</a>"; #print $ref->{prodtext}; print "<br>"; print "<hr>"; }}}} close (FILE); print "</TD>"; print "</TR>"; print "</TABLE>";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: how to hash this
by chromatic (Archbishop) on Apr 02, 2001 at 10:11 UTC | |
by malaga (Pilgrim) on Apr 03, 2001 at 02:55 UTC |