http://qs1969.pair.com?node_id=11114107


in reply to How could I create a command line quiz?

Now I'm not necessarily interested in the answer, but more if I'm thinking about this problem in the correct way. After chewing on this issue for a week, I'm thinking along the lines of hashes being more appropriate since a quiz question can be associated with an answer. Any advice please?

Congratulations, your journey has begun

This is how you should think about it

first Think of verbs

StartQuiz( $quizfile, $userfile ); ... sub StartQuiz { my( $quizfile, $userfile ) = @_; for my $question ( Questions( $quizfile ) ){ my $answer = GetAnswer( $question ); SaveAnswer( $userfile, $question, $answer ); } }

first Think of verbs

Write a few of these loops before thinking about data structures

More ideas

Term::Interact prompting loop idea, https://metacpan.org/source/TOBYINK/Ask-0.007/examples/multiple-choice.pl

my $answer = single_choice( text => "If a=1, b=2. What is a+b?", choices => [ [ A => 12 ], [ B => 3 ], [ C => 2 ], [ D => 42 ], [ E => "Fish" ], ], );
https://metacpan.org/source/TOBYINK/Ask-0.007/examples/synopsis.pl
if ($ask->question(text => "Are you happy?") and $ask->question(text => "Do you know it?") and $ask->question(text => "Really want to show it?")) { $ask->info(text => "Then clap your hands!"); }