diff options
| author | franck cuny <franck@lumberjaph.net> | 2010-09-10 23:25:10 +0200 |
|---|---|---|
| committer | franck cuny <franck@lumberjaph.net> | 2010-09-10 23:25:10 +0200 |
| commit | 0afbfaee75e8480e8e0ed0a3bbd3749a4756f727 (patch) | |
| tree | f9e4d91866060661d53c50c66973fcd20600983f /_posts/2009-07-26-apply-a-role-to-a-moose-object.textile | |
| download | lumberjaph-0afbfaee75e8480e8e0ed0a3bbd3749a4756f727.tar.gz | |
initial import
Diffstat (limited to '')
| -rw-r--r-- | _posts/2009-07-26-apply-a-role-to-a-moose-object.textile | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/_posts/2009-07-26-apply-a-role-to-a-moose-object.textile b/_posts/2009-07-26-apply-a-role-to-a-moose-object.textile new file mode 100644 index 0000000..40ace15 --- /dev/null +++ b/_posts/2009-07-26-apply-a-role-to-a-moose-object.textile @@ -0,0 +1,38 @@ +--- +layout: post +title: Apply a role to a Moose object +category: perl +--- + +h2. Apply a role to a Moose object + +You can apply a role to a Moose object. You can do something like + +{% highlight perl %} +#!/usr/bin/perl -w +use strict; +use feature ':5.10'; + +package foo; +use Moose::Role; +sub baz { + say 'i can haz baz'; +} + +package bar; +use Moose; +1; + +package main; + +my $test = bar->new; +say "i can't haz baz" if !$test->can("baz"); + +foo->meta->apply($test); +$test->baz; +{% endhighlight %} + +with the following output: + +bc. i can't haz baz +i can haz baz |
