in reply to Why "no Moose?"

Moose and friends inserts subs for its helpers (e.g. has) into the package in question. The no Moose incantation runs its unimport method which removes those subs from the package's symbol table which means that you can't accidentally or intentionally call those routines (an extreme example, but in another compilation unit you couldn't do { package Foo; has 'new_attrib' => ( ... ); } since Foo::has is no longer a valid sub). It's not "necessary", but it's "cleaner".

The cake is a lie.
The cake is a lie.
The cake is a lie.

Replies are listed 'Best First'.
Re^2: Why "no Moose?"
by JadeNB (Chaplain) on Jan 27, 2009 at 20:46 UTC
    Moose is also a source filter, so (as with all filters of non-Lisp languages) it's probably best to turn it off when you don't actually need it.

    UPDATE: That's completely wrong; I'm sorry. See kyle's post below.
    UPDATE 2: No, really, I know now. Further down-voting will not convince me any more. :-)

        Surely that statement requires a precise definition of ‘source filter’? I'm no expert on Moose internals, but it's got a dependency on Filter::Simple.