#!/usr/bin/perl -w use strict; sub HandleSomething { my $option = shift; # SWITCH:{ goto 'CASE_'.$option; # Use if always good cases SWITCH:{$_='CASE_'.$option; eval("goto $_"); $_= 'DEFAULT' if ($@); goto $_; CASE_1: print "Case 1\n"; last SWITCH; CASE_4: print "Case 4: "; for (1..4) { print $_; } print "\n"; last SWITCH; CASE_FOUR: print "Case FOUR\n"; last SWITCH; CASE_9: print "Case 9\n"; return "Because I can"; CASE_WHAT: ; CASE_STR: print "Case STRING on $option\n"; last SWITCH; DEFAULT: print qq|Undefined Case "$option"\n|; } } my @testCases = ( 1, 4, 'FOUR', '9','WHAT',"STR", 2, 'nine'); my $more = { tst => 4, tst4 => 'FOUR', tst5 => "Opps" }; print '-' x 50 . "\n"; for (@testCases) { HandleSomething $_; } print '-' x 50 . "\n"; for (sort values %{$more}) { HandleSomething $_; }