Hi.<br><br>Módulos criados com <i>bless</i> possuem um modelo diferente dos módulos que utilizam o Moose, certo?<br>Na verdade não sei, mas era o que eu achava até então.<br><br>Sempre achei que sendo diferentes, pra utilizarmos herança, o modelo do <i>package</i> seria incompatível um com o outro, e pra isso eu utilizava o módulo MouseX::NonMoose.<br>

<br>Eis que fuçando um pouco o módulo Badger::Log::File, experimentei testar os <i>method modifiers</i> pra jogar a saída também pro STDERR:<br><pre style="color:rgb(0,0,0);font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px">

extends 'Badger::Log::File';<br><br>after qw {
        info
        debug
        warn
        fatal
        error
    } => sub {
    say STDERR $_[1];
};</pre>Eis que fui ver a lista de deps do Badger::Log::File, e é gigante... Só que <b>sem</b> o Moose! Logo, pensei que isso não funcionaria mas funciona!<br><br>Pra ilustrar melhor a situação:<br><pre style="color:rgb(0,0,0);font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px">

package Fvox;
use common::sense;
sub new {
    bless {}, shift;
}

sub execute {
    my $self = shift;
    say 'Do...';
}<br><br>1;

package Junior;

use Moose;
extends 'Fvox';

after 'execute' => sub {
    say STDERR 'It works?!';
};<br><br>1;

my $fx = new Junior();
$fx->execute();</pre><br><br><br>Alguém pode falar mais sobre objetos Moose vs NonMoose?<br>Quais as incompatibilidades que eu poderia enfrentar, se isso não funcionava numas versões anteriores,  etc?<br clear="all"><br>

-- <br><pre style="color:rgb(0,0,0);font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;word-spacing:0px"> ______________________
< Junior "fvox" Moraes >
 ----------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/</pre><br>