sub f_windows { } sub f_linux { } sub f_mac { } sub specific_f { my $dispatch_os = { "MSWin32" => \&f_windows, "linux" => \&f_linux, "MacOS" => \&f_mac }; $dispatch_os->{$^O}->(@_); }