my %Mode = ( default => \&default, something => \&something, another => \&another ); if(exists($Mode{$q->param('mode')})) { $Mode{$q->param('mode')}->(); #call the correct subroutine }else{ &default; } #### #!/usr/bin/perl -w use strict; use Cart::ShoppingCart; my $sc = Cart::ShoppingCart->new(); $sc->run(); #### my $q = $self->query(); #### my $q = CGI->new; #### sub add_to_cart { my $self = shift; my $q = $self->query(); my $basket_id = $self->basket_id_from_cookie; my $inv = Cart::Inventory->new; my $basket = Cart::Basket->new(-basket_id => $basket_id); $basket->add_item(-basket_vars => {product_id => $q->param('id'), var_color => $q->param('var_color'), var_size => $q->param('var_size'), var_quantity => $q->param('var_quantity'), }); $self->header_type('redirect'); $self->header_props(-cookie => $self->create_basket_cookie($basket_id), -uri => $C{URLS}->{cart_summary_url}); } #### print $q->redirect(-uri => $some_url); #### sub cart_summary { my $self = shift; my $q = $self->query(); my $html; my $basket_id = $self->basket_id_from_cookie; my $template = Template->new({INCLUDE_PATH => $C{TT_TEMPLATES}->{INCLUDE_PATH},}); my $vars->{cart} = $self->cart_vars; my $file = $C{TT_TEMPLATES}->{cart_summary}; $self->header_props(-cookie => $self->create_basket_cookie($basket_id)); $template->process($file, $vars, \$html) || die "Template process failed: ", $template->error(), "\n"; return $html; } #### [% WRAPPER basic_admin_page.html %]

Order# [% customer_info.customer_id %]


[% INCLUDE cart_summary_table.tt_html %]
[% INCLUDE billing_info_table.html %] [% INCLUDE cc_info_table.html %] <div style="text-align:center"> [% INCLUDE remove_button.html %] </div> [% END %] ##
## [% INCLUDE basic_page.html %]