良い人ですか?いいえ。!!!!!

package SubMoose;
use Moose;
use Moose::Exporter;
use utf8;

Moose::Exporter->setup_import_methods(
    also => ['Moose'],
    run_at_import => sub {
        my $caller = shift;
        utf8->import();
    }
);

1;

patch diff

--- Exporter.pm.orig    2009-09-20 16:35:11.000000000 +0900
+++ Exporter.pm 2009-09-20 23:47:19.000000000 +0900
@@ -53,7 +53,7 @@
     # Moose::Util::TypeConstraints did export to main (unlike Moose &
     # Moose::Role).
     $methods{import} = $class->_make_import_sub( $exporting_package,
-        $exporter, \@exports_from, $args{_export_to_main} );
+        $exporter, \@exports_from, $args{_export_to_main} , $args{run_at_import} );

     $methods{unimport} = $class->_make_unimport_sub( $exporting_package,
         $exports, $is_removable, $export_recorder );
@@ -302,6 +302,7 @@
     my $exporter          = shift;
     my $exports_from      = shift;
     my $export_to_main    = shift;
+    my $run_at_import     = shift || sub {};

     return sub {

@@ -337,6 +338,7 @@

         strict->import;
         warnings->import;
+        $run_at_import->( $CALLER );

         # we should never export to main
         if ( $CALLER eq 'main' && !$export_to_main ) {

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

hoge

Wiki内検索

フリーエリア

メンバーのみ編集できます