http://qs321.pair.com?node_id=671635


in reply to Function reference undef when extract from hash?

Do you use use strict and use warnings? Where do you call build_sth('set_to_flag')?

This works:
#!/usr/bin/perl use strict; use warnings; build_sth( 'set_to_flag' ); sub write_flag{ print "Success for flag.\n"; } sub write_sets{print "Success for Set.\n"; } sub do_nothing{print "Exit Here\n";} sub build_sth{ my ($op_code) = @_; my %Op = ( set_to_flag => \&write_flag, set_tree => \&write_sets, default => \&do_nothing ); my $op_exec = $Op{$op_code} ; if( defined $op_exec ){ $op_exec->(); }else{ print "Oops\n"; } }