#! perl -slw use strict; use warnings; package xtest::mac; sub get_answer{ 'Apple' } package xtest::sun; sub get_answer{ 'Sun' } package xtest::aix; sub get_answer{ 'IBM' } package xtest::win; sub get_answer{ 'Win' } package xtest; if( $^O =~ m[(dar|sol|aix|win)]i ) { ## Export to main for testing only. *main::get_answer = \&{"xtest::\L$1\E::get_answer"}; } else { die 'Unknown OS'; } 1; #### P:\test>perl -Mxtest -e"print get_answer()" Win