return tfu( wantarray, true => sub { 'true' }, false => sub { 'false' }, undef => sub { 'undef' }, ); sub tfu { my $value = shift @_; my %todo_for = @_; return $value ? $todo_for{ true }->() : defined $value ? $todo_for{ false }->() : $todo_for{ undef }->(); }