in reply to Re: I don't understand UNIVERSAL::DOES()
in thread I don't understand UNIVERSAL::DOES()
Personally I'd /really/ like to see DOES become more useful before 5.10 comes out. I think its a perfect opportunity to fix a bunch of problems. IMO, it should be usable in subroutine form, BUT still respect @ISA for blessed objects, it should handle the question of "can I dereference something in a particular way", and third it should answer "is this a compiled regex". I imagine that something like the following results
UNIVERSAL::DOES(sub{},'&{}') # return true UNIVERSAL::DOES(qr//,'qr//') # return true UNIVERSAL::DOES([],'@{}') # return true UNIVERSAL::DOES([],'The::Funky::Chicken') # return false UNIVERSAL::DOES([],'UNIVERSAL') # return false @Bar::ISA=qw(Foo); UNIVERSAL::DOES('Bar','Foo') # return true @Bang::ISA=qw(Foo); sub Bang::DOES { return 0 } UNIVERSAL::DOES('Bang','Foo'} # return false
I actually have a patch to universal.c for this behaviour on the brew right now.
|
|---|