in reply to Re: Re: passing arguments in a dispatch table
in thread passing arguments in a dispatch table
You might want to consider this approach:
Here, we're removing the closure completely, and passing the args directly to the appropriate sub. Did I completely miss what you're trying to do?my $dispatch = { 1 => sub { search_menu() }, 2 => sub { my $book = shift; edit_name($book) }, 3 => sub { my $book = shift; add_entry($book) }, 4 => sub { my $book = shift; delete_entry($book) }, 5 => sub { save_default() }, 6 => sub { print "Goodbye!\n"; exit }, e => sub { print "Goodbye!\n"; exit } }; sub process { my ( $choice, $book ) = @_; print $dispatch->{$choice}->($book); }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: Re: Re: passing arguments in a dispatch table
by CharlesClarkson (Curate) on Apr 29, 2002 at 06:06 UTC |