summaryrefslogtreecommitdiffstats
path: root/static/talks/extending_moose_yapc_na_2010/059.pl.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/talks/extending_moose_yapc_na_2010/059.pl.html')
-rw-r--r--static/talks/extending_moose_yapc_na_2010/059.pl.html59
1 files changed, 59 insertions, 0 deletions
diff --git a/static/talks/extending_moose_yapc_na_2010/059.pl.html b/static/talks/extending_moose_yapc_na_2010/059.pl.html
new file mode 100644
index 0000000..673f2f2
--- /dev/null
+++ b/static/talks/extending_moose_yapc_na_2010/059.pl.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<title>059.pl</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function navigate(e) {
+ var keynum = (window.event) // IE
+ ? e.keyCode
+ : e.which;
+ if (keynum == 8) {
+ window.location = "058" + ".html";
+ return false;
+ }
+ if (keynum == 13 || keynum == 32) {
+ window.location = "060" + ".html";
+ return false;
+ }
+ if (keynum == 73 || keynum == 105) {
+ window.location = "index.html";
+ return false;
+ }
+ return true;
+}
+</script>
+</head>
+<body onkeypress="return navigate(event)">
+<pre> package Mooose;
+ use Moose::Exporter;
+ use MooseX::NonMoose ();
+ use MooseX::Aliases ();
+
+ my ($import, $unimport, $init_meta) = Moose::Exporter-&gt;build_import_methods(
+ also =&gt; ['MooseX::NonMoose', 'MooseX::Aliases'],
+ class_metaroles =&gt; {
+ class =&gt; ['My::App::Meta::Class'],
+ },
+ );
+
+ sub import {
+ strict-&gt;import;
+ warnings-&gt;import;
+ autodie-&gt;import;
+ feature-&gt;import(':5.10');
+ MooseX::Aliases-&gt;import;
+ goto $import;
+ }
+
+ sub unimport {
+ # .... (s/import/unimport/ on the above)
+ goto $unimport;
+ }
+
+ sub init_meta {
+ my ($package, %options) = @_;
+ die unless $options{for_class}-&gt;isa('My::Base::Class');
+ goto $init_meta;
+ }
+</pre>
+</body>