use strict; use warnings; use DBI; use Data::Dumper; use IO::Prompt; use PDF::Reuse; my $choice = prompt 'Please choose your report output format...', -1, -menu => [ 'Console', 'PDF', 'HTML', 'Quit', ]; print "You chose: [$choice]\n\n"; my $action_ref = { 'Console' => \&print_console, 'PDF' => \&generate_pdf, 'HTML' => \&generate_html, 'Quit' => sub { print "Exiting...\n"; exit 0; } }; if ( $action_ref->{$choice} ) { $action_ref->{$choice}->(); } else { warn "Unknown option: '$choice';\n" }