has $!multiselect; sub choose ( Array $orig_list, %opt? ) is export { return Term::Choose.new().choose( $orig_list, %opt ); } sub choose_multi ( Array $orig_list, %opt? ) is export { return Term::Choose.new().choose_multi( $orig_list, %opt ); } method choose () { $!multiselect = 0; self._my_inner_method( ... ); } method choose_multi () { $!multiselect = 1; self._my_inner_method( ... ); } method _my_inner_method ( ... ) { ... ... if $!multiselect { ... } else { ... } }