use strict; my $os_dispatch = { linux => sub {print qq{Linux\n}}, solaris => sub {print qq{Solaris\n}}, aix => sub {print qq{AIX\n}}, freebsd => sub {print qq{FreeBSD\n}}, darwin => sub {print qq{MacOSX\n}}, unknown => sub {print qq{Unknown\n}}, }; if (exists $os_dispatch->{$^O}) { $os_dispatch->{$^O}->(); } else { $os_dispatch->{unknown}->(); }