package Foo::Role; use Moose::Role; package Foo; use Moose with => { -as => "moose_with" }; use Error qw(:try) moose_with("Foo::Role"); Foo->does("Foo::Role") # returns true