if ( UNIVERSAL::isa($q, 'CGI') || (UNIVERSAL::can($q, 'param') && UNIVERSAL::can($q, 'cookie') ) { ... }