http://www.perlmonks.org?node_id=501295

ghenry has asked for the wisdom of the Perl Monks concerning the following question:

Dear Monks,

I have a snippet of code:

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" }

Why does print Dumper($action_ref); give:

$VAR1 = { 'HTML' => sub { "DUMMY" }, 'Quit' => sub { "DUMMY" }, 'Console' => sub { "DUMMY" }, 'PDF' => sub { "DUMMY" } };

and not what's actually in the subs, which are further down the program?

A simple pointer to the docs I missed will do ;-)

Thanks,
Gavin.

Walking the road to enlightenment... I found a penguin and a camel on the way.....
Fancy a yourname@perl.me.uk? Just ask!!!