Skip to content

Instantly share code, notes, and snippets.

@melo
Created October 14, 2009 16:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save melo/210217 to your computer and use it in GitHub Desktop.
Save melo/210217 to your computer and use it in GitHub Desktop.
perl -e 'use MyModule'
5.10.1 melo@DogsHouse:lib (master) $ perl -e 'use MyModule'
'MyModule::RequireAttr' requires the method 'attr' to be implemented by 'MyModule' at /Users/melo/.perl5/5.10.1/lib/perl5/Moose/Meta/Role/Application.pm line 69
Moose::Meta::Role::Application::apply('Moose::Meta::Role::Application::ToClass=HASH(0x80fdd0)', 'Moose::Meta::Role=HASH(0x87e360)', 'Moose::Meta::Class=HASH(0x81d9e0)') called at /Users/melo/.perl5/5.10.1/lib/perl5/Moose/Meta/Role/Application/ToClass.pm line 31
Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::Role::Application::ToClass=HASH(0x80fdd0)', 'Moose::Meta::Role=HASH(0x87e360)', 'Moose::Meta::Class=HASH(0x81d9e0)') called at /Users/melo/.perl5/5.10.1/lib/perl5/Moose/Meta/Role.pm line 396
Moose::Meta::Role::apply('Moose::Meta::Role=HASH(0x87e360)', 'Moose::Meta::Class=HASH(0x81d9e0)') called at /Users/melo/.perl5/5.10.1/lib/perl5/Moose/Util.pm line 121
Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x81d9e0)', undef, 'MyModule::RequireAttr') called at /Users/melo/.perl5/5.10.1/lib/perl5/Moose/Util.pm line 84
Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x81d9e0)', 'MyModule::RequireAttr') called at /Users/melo/.perl5/5.10.1/lib/perl5/Moose.pm line 57
Moose::with('Moose::Meta::Class=HASH(0x81d9e0)', 'MyModule::RequireAttr') called at /Users/melo/.perl5/5.10.1/lib/perl5/Moose/Exporter.pm line 288
Moose::with('MyModule::RequireAttr') called at MyModule.pm line 5
require MyModule.pm called at -e line 1
main::BEGIN() called at MyModule.pm line 0
eval {...} called at MyModule.pm line 0
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
package MyModule;
use Moose;
with 'MyModule::RequireAttr';
has attr => (
isa => 'Str',
is => 'rw',
);
no Moose;
1;
package MyModule::RequireAttr;
use Moose::Role;
requires('attr');
1;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment