push (@row, Tr ({"-align" => "CENTER", "-valign" => "TOP", "-BGCOLOR" => "blue", "-font-color" => "yellow", "-FONT-FAMILY" => "verdana,arial,helvetica", "-FONT-SIZE" => "12"}, th ("Item"), th ("Quantity"), th ("Description"), th ("Unit Price"), th ("Price") )); foreach my $item_id (sort (keys (%{$cart_ref}))) { my $item_ref = $cart_ref->{$item_id}; my $total_item_price = $item_ref->{qty} * $item_ref->{price}; $total_price += $total_item_price; # generate a link allowing the item to be deleted from the cart my $url = sprintf ("%s?choice=delete;item_id=%s", url (), escape ($item_id)); push (@row, Tr ( td (escapeHTML ($item_id)), td (escapeHTML ($item_ref->{qty})), td (escapeHTML ($item_ref->{description})), td ({-align => "right"}, escapeHTML (sprintf ("%.2f", $item_ref->{price}))), td ({-align => "right"}, escapeHTML (sprintf ("%.2f", $total_item_price))), ($show_links ? td (a ({-href => $url}, img ({-src => "../images/delete.jpg", -border => "0"}))) : td (" ")) )); } push (@row, Tr ( td ({-colspan => "2"}, ""), td ({-colspan => "2"}, "Total"), td ({-align => "right"}, escapeHTML (sprintf ("%.2f", $total_price))) )); return (table ({-border => 0}, @row)); }