diff options
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.html | 59 |
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->build_import_methods( + also => ['MooseX::NonMoose', 'MooseX::Aliases'], + class_metaroles => { + class => ['My::App::Meta::Class'], + }, + ); + + sub import { + strict->import; + warnings->import; + autodie->import; + feature->import(':5.10'); + MooseX::Aliases->import; + goto $import; + } + + sub unimport { + # .... (s/import/unimport/ on the above) + goto $unimport; + } + + sub init_meta { + my ($package, %options) = @_; + die unless $options{for_class}->isa('My::Base::Class'); + goto $init_meta; + } +</pre> +</body> |