#!/usr/bin/perl use strict; use Data::Dumper; my %hash = map { my $item = pop @$_; map { $_, $item } @$_ } [qw(HELP ?) => sub { print "help\n"; }], [qw(QUIT EXIT LEAVE) => sub { "exit"; }]; &{%hash->{HELP}}(); &{%hash->{'?'}}(); print Dumper(%hash); 1; #### help help $VAR1 = '?'; $VAR2 = sub { "DUMMY" }; $VAR3 = 'HELP'; $VAR4 = $VAR2; $VAR5 = 'EXIT'; $VAR6 = sub { "DUMMY" }; $VAR7 = 'QUIT'; $VAR8 = $VAR6; $VAR9 = 'LEAVE'; $VAR10 = $VAR6;