package Hello;
use strict;
use warnings;
use Moose::Role;
use namespace::autoclean;
use Greeting;
sub hello_world {
print "hello world\n";
}
1;
####
package Greeting;
use strict;
use warnings;
use Moose;
use namespace::autoclean;
with 'Hello';
__PACKAGE__->meta->make_immutable;
1;
##
##
package Greeting2;
use strict;
use warnings;
use Moose;
use namespace::autoclean;
with 'Hello';
__PACKAGE__->meta->make_immutable;
1;
##
##
#!/usr/bin/perl -w
use Greeting2;
use Greeting;
my $greeting = Greeting->new();
print $greeting, "\t", $greeting->does('Hello') ? "does Hello\n" : "does not do Hello\n";
$greeting->hello_world();