#!/usr/local/bin/perl # A test to use a hash as a psuedo-switch statement # use strict; use warnings; my %PSUEDO_SWITCH = ( '1' => sub { print "One -- @_\n" }, '2' => sub { print "Two -- @_\n" }, '3' => sub { print "Three -- @_\n" }, '4' => sub { print "Four -- @_\n" }, ); my $match = 2; &{ $PSUEDO_SWITCH{$match} }('arg1', 'arg2', 'arg3'); __OUTPUT__ Two -- arg1 arg2 arg3