sub prepare { my $class = shift; my $quiz = bless { }, $class; $quiz->init(@_); return $quiz; } sub begin { my $quiz = shift; # What should PopQuiz do? my $switchbox = { 'show' => \&Take_A_Quiz, 'list' => \&Quiz_List, 'score' => \&Score_Quiz, 'submit' => \&Submit_Quiz, }; # Pick Mode my $mode = $quiz->{params}{'__mode'} || 'list'; # Prepare the act to be performed my $act = $switchbox->{$mode}; # Perform &{$act}($quiz); } #### my %valid_question = ( 'boolean' => \&parse_boolean, 'multiple' => \&parse_multiple, 'identify' => \&parse_identify, 'essay' => \&parse_essay ); my $parse_type = $valid_question{ lc( $input ) };