my $main_choice; while ($main_choice = prompt(...)) { if ($main_choice eq 'task_1') { my $next_choice = prompt(...); if ($next_choice eq 'task_1_a') { #... } elsif ($next_choice eq 'task_1_b') { my $deeper_choice = prompt(); if ($deeper_choice eq 'task_1_b_1') { #... } elsif ($next_choice eq 'task_1_b_2') { #... } else { #... } } elsif ($next_choice eq 'task_1_c') { #... } else { #... } } elsif ($main_choice eq 'task_2') { #... } else { #... } }