Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-smart-rename.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-smart-rename.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-smart-rename.t (revision 35510)
@@ -0,0 +1,24 @@
+use Test::More 'no_plan';
+use lib qw(./lib t/lib);
+
+package AA;
+use Test::More;
+
+use SmartRename -utf8, {smart_rename => 1};
+
+ok(!defined(&utf8_is_utf8));
+ok(!defined(&utf8_utf8_upgrade));
+ok(defined(&is_utf8));
+ok(defined(&utf8_upgrade));
+ok(defined(&utf8_downgrade));
+
+package BB;
+use Test::More;
+
+use SmartRename -utf8 => {is_utf8 => {-as => 'utf_flagged'}, -prefix => 'xx_', smart_rename => 1};
+
+ok(!defined(&xx_is_utf8));
+ok(defined(&utf_flagged));
+ok(defined(&xx_utf8_upgrade));
+ok(defined(&xx_downgrade));
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter.t (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter.t (revision 35482)
@@ -0,0 +1,31 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilSubExporter -l2s => {-prefix => 'list__',
+                                     min => {-as => 'list___min'},
+                                    },
+                            -greet => {-prefix => 'greet_'}, 'askme' => {-as => 'ask_me'};";
+  $err = $@;
+}
+
+use strict;
+use Test::More qw/no_plan/;
+
+SKIP: {
+skip $err if $err;
+
+ok(defined &list__first,  'defined list__first');
+ok(defined &list___min,   'defined min as list___min');
+ok(defined &list__minstr, 'defined list__minstr');
+ok(defined &greet_hello,  'defined greet_hello');
+ok(defined &greet_hi,     'defined greet_hi');
+ok(defined &ask_me,       'defined askme as ask_me');
+
+is(ask_me(), "what you will", 'askme');
+is(greet_hi(), "hi there", 'hi');
+is((list__first {$_ >= 4} (2,10,4,3,5)), 10, 'list first');
+
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option-except.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option-except.t (revision 26846)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option-except.t (revision 26846)
@@ -0,0 +1,30 @@
+use strict;
+
+package UtilOption;
+
+use base qw/Util::Any/;
+use strict;
+
+our $Utils = {
+              list  => [
+                         [
+                          'List::Util', '',
+                          {
+                           'first' => 'list_first',
+                           'sum'   => 'lsum',
+                           -except => ['reduce', 'shuffle'],
+                          }
+                         ]
+                        ],
+             };
+
+
+UtilOption->import(qw/list/);
+use Test::More qw/no_plan/;
+
+ok(defined &list_first, 'defined first as list_first');
+ok(defined &lsum, 'defined sum as lsum');
+ok(defined &min, 'defined min');
+ok(defined &minstr, 'defined minstr');
+ok(!defined &reduce, 'not defined reduce');
+ok(!defined &shuffle, 'not defined shuffle');
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-coron.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-coron.t (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-coron.t (revision 32282)
@@ -0,0 +1,28 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib ./t/lib);
+use List::Util ();
+use List::MoreUtils ();
+use Hash::Util ();
+use Scalar::Util ();
+
+use MyUtil qw/:list/;
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable_no.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable_no.t (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable_no.t (revision 35482)
@@ -0,0 +1,51 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib t/lib);
+
+require UtilPluggable;
+
+package BBB;
+
+UtilPluggable->import(-pluggable2, {plugin => '0'});
+use Test::More;
+ok(!defined &UtilPluggable::Plugin::Pluggable2::utils);
+ok(!defined &UtilPluggable::Plugin::Pluggable::utils);
+ok(!defined &test);
+ok(!defined &test2);
+ok(!defined &camelize);
+ok(!defined &test3);
+delete @INC{qw{UtilPluggable/Plugin/Pluggable.pm UtilPluggable/Plugin/Pluggable2.pm}};
+undef &UtilPluggable::Plugin::Pluggable::utils;
+undef &UtilPluggable::Plugin::Pluggable2::utils;
+
+package AAA;
+
+UtilPluggable->import(-pluggable, {plugin => '0'});
+use Test::More;
+
+ok(!defined &UtilPluggable::Plugin::Pluggable2::utils);
+ok(!defined &UtilPluggable::Plugin::Pluggable::utils);
+ok(!defined &test);
+ok(!defined &test2);
+ok(defined &camelize);
+ok(!defined &test3);
+
+package CCC;
+
+use Test::More;
+UtilPluggable->import(-pluggable, -pluggable2, {plugin => '0'});
+
+ok(!defined &test);
+ok(!defined &test2);
+ok(defined &camelize);
+ok(!defined &test3);
+
+package DDD;
+
+use Test::More;
+UtilPluggable->import(-all, {plugin => '0'});
+
+ok(!defined &test);
+ok(!defined &test2);
+ok(defined &camelize);
+ok(!defined &test3);
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/pod.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/pod.t (revision 25725)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/pod.t (revision 25725)
@@ -0,0 +1,6 @@
+#!perl -T
+
+use Test::More;
+eval "use Test::Pod 1.14";
+plan skip_all => "Test::Pod 1.14 required for testing POD" if $@;
+all_pod_files_ok();
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar-prefix.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar-prefix.t (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar-prefix.t (revision 32282)
@@ -0,0 +1,26 @@
+use Test::More qw/no_plan/;
+
+use Util::Any {Scalar => [qw/blessed weaken/]}, {prefix => 1};
+no strict 'refs';
+
+ok(defined &scalar_weaken , 'scalar_weaken');
+ok(defined &scalar_blessed , 'scalar_blessed');
+my $hoge = bless {};
+ok(scalar_blessed $hoge, "blessed test");
+
+foreach (grep {$_ ne 'weaken' and $_ ne 'blessed'} @Scalar::Util::EXPORT_OK) {
+  ok(! defined &{'scalar_' . $_} , 'not defined ' . $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , 'not defined ' . $_) if defined &{'Hash::Util::' . $_};
+}
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(! defined &{'list_' . $_} , 'not defined ' . $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{'list_' . $_} , 'not defined ' . $_);
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-all.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-all.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-all.t (revision 35510)
@@ -0,0 +1,30 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilSubExporter -all;";
+  $err = $@;
+}
+
+use strict;
+use Test::More qw/no_plan/;
+
+SKIP: {
+skip $err if $err;
+
+ok(defined &first,  'defined first');
+ok(defined &min,    'defined min');
+ok(defined &minstr, 'defined minstr');
+ok(defined &maxstr, 'defined maxstr');
+ok(defined &max,    'defined max');
+ok(defined &hello,  'defined greet_hello');
+ok(defined &hi,     'defined greet_hi');
+ok(defined &askme,  'defined askme');
+
+is(askme(), "what you will", 'askme');
+is(hi(), "hi there", 'hi');
+is((first {$_ >= 4} (2,10,4,3,5)), 10, 'list first');
+
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-generator2.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-generator2.t (revision 35462)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-generator2.t (revision 35462)
@@ -0,0 +1,12 @@
+package main;
+
+use strict;
+use lib qw(lib t/lib);
+use SubExporterGenerator -test;
+use Test::More 'no_plan';
+
+is(min(100,25,30), 25);
+is(min(100,10,30), 10);
+is(max(80,25,30), 80);
+is(max(130,10,30), 130);
+is(scalar uniq(1,3,1,4,5,1), 4);
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-all.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-all.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-all.t (revision 25939)
@@ -0,0 +1,21 @@
+use Test::More qw/no_plan/;
+
+use Util::Any qw/all/;
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs.t (revision 31434)
@@ -0,0 +1,23 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+use strict;
+my $err;
+BEGIN {
+  eval "use UtilPerl6ExportAttrs qw/l2s/";
+  $err = $@;
+}
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(!defined &foo,    'not defined foo');
+  ok(!defined &bar,    'not defined bar');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple-no-args.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple-no-args.t (revision 31439)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple-no-args.t (revision 31439)
@@ -0,0 +1,24 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilExporterSimple;";
+  $err = $@;
+}
+use strict;
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(!defined &first,  'not defined first');
+  ok(!defined &min,    'not defined min');
+  ok(!defined &minstr, 'not defined minstr');
+  ok(defined &hello,  'defined hello');
+  ok(!defined &askme, 'not defined askme');
+  ok(!defined &hi,    'not defined hi');
+
+  is(hello(), "hello there", 'hello');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option.t (revision 26846)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option.t (revision 26846)
@@ -0,0 +1,28 @@
+use strict;
+
+package UtilOption;
+
+use base qw/Util::Any/;
+use strict;
+
+our $Utils = {
+              debug  => [
+                         [
+                          'Data::Dumper', '',
+                          {'Dumper' => 'dumper',
+                          }
+                         ]
+                        ],
+             };
+
+
+UtilOption->import(qw/debug/);
+use Test::More qw/no_plan/;
+
+ok(defined &dumper, 'defined Dumepr as dumper');
+ok(!defined &Dumper, 'not defined Dumper');
+ok(defined &DumperX, 'defined DumperX');
+my $d = dumper({x => 1});
+my $VAR1;
+eval "$d";
+is_deeply($VAR1, {x => 1}, 'dumper is Dumper');
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs-no-args.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs-no-args.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs-no-args.t (revision 31434)
@@ -0,0 +1,22 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+use strict;
+my $err;
+BEGIN {
+  eval "use UtilPerl6ExportAttrsBase;";
+  $err = $@;
+}
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(!defined &first,  'defined first');
+  ok(!defined &min,    'defined min');
+  ok(!defined &minstr, 'defined minstr');
+  ok(defined &foo,    'defined foo');
+  ok(!defined &bar,    'not defined bar');
+
+  is(foo(), 'foo!', 'foo');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-minus.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-minus.t (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-minus.t (revision 32282)
@@ -0,0 +1,28 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib ./t/lib);
+use List::Util ();
+use List::MoreUtils ();
+use Hash::Util ();
+use Scalar::Util ();
+
+use MyUtil qw/-list/;
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util.t (revision 35387)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util.t (revision 35387)
@@ -0,0 +1,84 @@
+use Test::More qw/no_plan/;
+use Util::Any ();
+use strict;
+use Data::Dumper;
+
+require Cwd;
+my @cwd_funcs = qw/cwd getcwd fastcwd fastgetcwd chdir abs_path fast_abs_path realpath fast_realpath/;
+push @cwd_funcs, qw(getdcwd) if $^O eq 'MSWin32';
+
+
+@cwd_funcs = sort @cwd_funcs;
+my @funcs = sort @{Util::Any::_all_funcs_in_class('Cwd')};
+is_deeply(\@funcs, \@cwd_funcs);
+
+my @tests = (
+             [
+              [ [list => ['any', 'uniq']], {} ],
+              [ [], {list => ['any', 'uniq']} ],
+             ],
+             [
+              [ [ scalar => [camelcase => { -as => 'cl' } ], qw/hoge fuga/], {} ],
+              [ [qw/hoge fuga/], {scalar => [camelcase => {-as => 'cl'}]} ],
+             ],
+             [
+              [ [ scalar => [camelcase => { -as => 'cl' }],
+                  list   => [uniq      => {-as => 'unique'}, 'any', 'max', shuffle => {-as => 'mix'}, 'min' ],
+                  qw/aaa  bbb  dcc/,
+                ], {} ],
+              [ [qw/aaa bbb dcc/],
+                {scalar => [camelcase => {-as => 'cl'}],
+                 list   => [uniq => {-as => 'unique'}, 'any', 'max',
+                            shuffle => {-as => 'mix'}, 'min'
+                           ],
+                } ],
+             ],
+             [
+              [ [ scalar => {-prefix => 'sc_'}], {} ],
+              [ [], {scalar => {-prefix => 'sc_'}} ],
+             ],
+            );
+
+for my $test (@tests) {
+  my ($args, $config) = (@{$test->[0]});
+  my $ret = $test->[1];
+  my ($arg, $want) = Util::Any->_arrange_args($args, $Util::Any::Utils, 'main');
+  is_deeply($arg,  $ret->[0]);
+  is_deeply($want, $ret->[1]);
+}
+
+my @isa = @main::ISA;
+Util::Any::_base_import('Util::Any', 'main', '-base');
+is($main::ISA[-1], 'Util::Any', 'isa');
+ok(!defined &main::_use_import_module, 'not defined');
+@main::ISA = @isa;
+
+MODULE:
+foreach my $m (['-Exporter'        , 'Exporter'            ],
+               ['-ExporterSimple'  , 'Exporter::Simple'    ],
+               ['-SubExporter'     , 'Sub::Exporter'       ],
+               ['-Perl6ExportAttrs', 'Perl6::Export::Attrs'],
+              ) {
+  {
+    package tmp_package;
+    eval "require $m->[1]";
+    if($@ =~m{can't locate}i) {
+      warn("$m->[1] is not installed\n");
+      next MODULE;
+    }
+  }
+
+  Util::Any::_base_import('Util::Any', 'main', $m->[0]);
+  my $file = $m->[1] . '.pm';
+  $file =~s{::}{/}g;
+  ok(exists $main::INC{$file}, $file);
+  is(&main::_use_import_module(), $m->[1], $m->[1]);
+  undef &main::_use_import_module;
+  @main::ISA = @isa;
+}
+
+eval {
+  Util::Any::_base_import('Util::Any', 'main', "Hoge");
+};
+
+ok($@ =~ /cannot understand/, 'unknown option');
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs-all.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs-all.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs-all.t (revision 35510)
@@ -0,0 +1,23 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+use strict;
+my $err;
+
+BEGIN {
+  eval "use UtilPerl6ExportAttrs qw/:All/";
+  $err = $@;
+}
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(defined &foo,    'defined foo');
+  ok(defined &bar,    'defined bar');
+
+  is(foo(), "foo!", 'foo');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-prefix.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-prefix.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my-prefix.t (revision 25939)
@@ -0,0 +1,28 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib ./t/lib);
+use List::Util ();
+use List::MoreUtils ();
+use Hash::Util ();
+use Scalar::Util ();
+
+use MyUtil qw/list/, {module_prefix => 1};
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{'lu_' . $_} , $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-unit.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-unit.t (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-unit.t (revision 35482)
@@ -0,0 +1,27 @@
+use Test::More 'no_plan';
+use lib qw(./lib t/lib);
+use Util::Any ();
+use exampleHello ();
+
+is_deeply([sort @{Util::Any::_all_funcs_in_class('exampleHello')}], [sort qw/hello_name hello_where/]);
+
+Util::Any->_base_import('main', "-Perl6ExportAttrs");
+is(main->_use_import_module, "Perl6::Export::Attrs");
+undef &_use_import_module;
+Util::Any->_base_import('main', "-SubExporter");
+is(main->_use_import_module, "Sub::Exporter");
+undef &_use_import_module;
+Util::Any->_base_import('main', "-ExporterSimple");
+is(main->_use_import_module, "Exporter::Simple");
+undef &_use_import_module;
+Util::Any->_base_import('main', "-Exporter");
+is(main->_use_import_module, "Exporter");
+undef &_use_import_module;
+
+my $r = Util::Any->_create_smart_rename("hoge");
+is $r->("is_hoge"), "is_hoge";
+is $r->("is_hogehoge"), "is_hogehoge";
+is $r->("fuga"), "hoge_fuga";
+is $r->("is_fuga"), "is_hoge_fuga";
+is $r->("foo_bar_hoge"), "foo_bar_hoge";
+is $r->("foo_bar_hoge_fuga"), "hoge_foo_bar_hoge_fuga";
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter.t (revision 31439)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter.t (revision 31439)
@@ -0,0 +1,25 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilExporter qw/l2s/;";
+  $err = $@;
+}
+use strict;
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(!defined &hello, 'not defined hello');
+  ok(!defined &askme, 'not defined askme');
+  ok(!defined &hi,    'not defined hi');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-hash.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-hash.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-hash.t (revision 25939)
@@ -0,0 +1,20 @@
+use Test::More qw/no_plan/;
+
+use Util::Any qw/Hash/;
+no strict 'refs';
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-util_any_base.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-util_any_base.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-util_any_base.t (revision 31434)
@@ -0,0 +1,28 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib ./t/lib);
+use List::Util ();
+use List::MoreUtils ();
+use Hash::Util ();
+use Scalar::Util ();
+
+use MyUtilBase qw/List/;
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-generator.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-generator.t (revision 35462)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-generator.t (revision 35462)
@@ -0,0 +1,18 @@
+package main;
+
+use strict;
+use lib qw(lib t/lib);
+use SubExporterGenerator -test => [min => {-as => "min_under_20", under => 20},
+    			       	   min => {-as => "min_under_5", under => 5},
+                                   max => {-as => "max_upper_100", upper => 100},
+				   uniq => {-as => 'uniq'},
+				   ];
+use Test::More 'no_plan';
+
+is(min_under_20(100,25,30), 20);
+is(min_under_20(100,10,30), 10);
+is(min_under_5(100,50,40), 5);
+is(min_under_5(100,1,40), 1);
+is(max_upper_100(80,25,30), 100);
+is(max_upper_100(130,10,30), 130);
+is(scalar uniq(1,3,1,4,5,1), 4);
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-my.t (revision 25939)
@@ -0,0 +1,28 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib ./t/lib);
+use List::Util ();
+use List::MoreUtils ();
+use Hash::Util ();
+use Scalar::Util ();
+
+use MyUtil qw/List/;
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/boilerplate.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/boilerplate.t (revision 25725)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/boilerplate.t (revision 25725)
@@ -0,0 +1,48 @@
+#!perl -T
+
+use strict;
+use warnings;
+use Test::More tests => 3;
+
+sub not_in_file_ok {
+    my ($filename, %regex) = @_;
+    open my $fh, "<", $filename
+        or die "couldn't open $filename for reading: $!";
+
+    my %violated;
+
+    while (my $line = <$fh>) {
+        while (my ($desc, $regex) = each %regex) {
+            if ($line =~ $regex) {
+                push @{$violated{$desc}||=[]}, $.;
+            }
+        }
+    }
+
+    if (%violated) {
+        fail("$filename contains boilerplate text");
+        diag "$_ appears on lines @{$violated{$_}}" for keys %violated;
+    } else {
+        pass("$filename contains no boilerplate text");
+    }
+}
+
+not_in_file_ok(README =>
+    "The README is used..."       => qr/The README is used/,
+    "'version information here'"  => qr/to provide version information/,
+);
+
+not_in_file_ok(Changes =>
+    "placeholder date/time"       => qr(Date/time)
+);
+
+sub module_boilerplate_ok {
+    my ($module) = @_;
+    not_in_file_ok($module =>
+        'the great new $MODULENAME'   => qr/ - The great new /,
+        'boilerplate description'     => qr/Quick summary of what the module/,
+        'stub function definition'    => qr/function[12]/,
+    );
+}
+
+module_boilerplate_ok('lib/Util/Any.pm');
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-debug.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-debug.t (revision 26846)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-debug.t (revision 26846)
@@ -0,0 +1,7 @@
+use Test::More qw/no_plan/;
+
+use Util::Any 'debug';
+use strict;
+
+ok(defined &Dumper , 'defined &Dumper');
+ok(!defined &DumeprX , 'not defined DumperX');
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilExporter.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilExporter.pm (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilExporter.pm (revision 35510)
@@ -0,0 +1,42 @@
+package UtilExporter;
+
+use strict;
+use Clone qw/clone/;
+
+use Util::Any -Exporter;
+
+our @EXPORT = qw/hello/;
+our @EXPORT_OK = qw/askme hello hi/;
+our %EXPORT_TAGS = (
+                    'greet' => [qw/hello hi/],
+                    'uk'    => [qw/hello/],
+                    'us'    => [qw/hi/],
+                    'hello' => [qw/hello_name hello_where/],
+                    'all'   => [qw/hello hi askme/],
+                   );
+
+our $Utils = clone $Util::Any::Utils;
+$Utils->{l2s} = [
+                 ['List::Util', '', [qw(first min minstr max maxstr sum)]],
+                ];
+$Utils->{-hello} = [
+                    ['exampleHello' => '', {'hey'   => \&hey_generator}],
+                   ];
+
+sub hello { "hello there" }
+sub askme { "what you will" }
+sub hi    { "hi there" }
+sub hello_where { "hello where" }
+
+sub hey_generator {
+  my ($self, $class, $func, $given) = @_;
+  my $at = $given->{at};
+  my $in = $given->{in};
+  return sub {
+    no strict 'refs';
+    my ($_at, $_in) = @_;
+    &{$class . '::' . $func}($_at || $at, $_in || $in);
+  }
+}
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPerl6ExportAttrs.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPerl6ExportAttrs.pm (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPerl6ExportAttrs.pm (revision 35510)
@@ -0,0 +1,51 @@
+package UtilPerl6ExportAttrs;
+
+use strict;
+use Clone qw/clone/;
+
+BEGIN {
+  my $err;
+  {
+    local $@;
+    eval "use Perl6::Export::Attrs ()";
+    $err = $@;
+  }
+  if ($err) {
+    die $err;
+  } else {
+    eval {
+    eval <<_CODE;
+      use Util::Any -Perl6ExportAttrs;
+      sub foo :Export(:DEFAULT) {
+        return "foo!";
+      }
+
+      sub bar :Export(:bar) {
+        return "bar!";
+      }
+_CODE
+    };
+  }
+}
+
+our $Utils = clone $Util::Any::Utils;
+$Utils->{l2s} = [
+                 ['List::Util', '', [qw(first min minstr max maxstr sum)]],
+                ];
+
+## sub import {
+##   my $pkg = shift;
+##   my $caller = (caller)[0];
+## 
+##   no strict 'refs';
+##   eval "package $caller; $pkg" . '->Util::Any::import(@_);';
+##   my @arg = grep !exists $Utils->{$_}, @_;
+##   if (@_ and @arg) {
+##     eval "package $caller; $pkg" . '->Perl6::Export::Attrs::_generic_import(@arg)';
+##   } elsif (!@_) {
+##     eval "package $caller; $pkg" . '->Perl6::Export::Attrs::_generic_import';
+##   }
+##   return;
+## }
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/Two.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/Two.pm (revision 35361)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/Two.pm (revision 35361)
@@ -0,0 +1,11 @@
+package Two;
+
+use strict;
+use warnings;
+
+use One  qw(:ALL
+             cpan_l2s);
+
+1;
+
+__END__
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/InheritSub.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/InheritSub.pm (revision 35361)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/InheritSub.pm (revision 35361)
@@ -0,0 +1,9 @@
+package InheritSub;
+
+use strict;
+use warnings;
+use Inherit  qw(:ALL cpan_l2s);
+
+1;
+
+__END__
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/MyUtilBase.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/MyUtilBase.pm (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/MyUtilBase.pm (revision 31434)
@@ -0,0 +1,11 @@
+package MyUtilBase;
+
+use Util::Any -Base;
+
+our $Utils =
+  {
+   list => [['List::Util' => 'lu_']],
+   error => ['Ktat::Ktat::Ktat'],
+  };
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/SmartRename.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/SmartRename.pm (revision 35364)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/SmartRename.pm (revision 35364)
@@ -0,0 +1,15 @@
+package SmartRename;
+
+use Util::Any -Base;
+
+our $Utils = {
+  -utf8 => [['utf8', '',
+             {
+              is_utf8   => 'is_utf8',
+              upgrade   => 'utf8_upgrade',
+              downgrade => 'downgrade',
+             }
+            ]],
+};
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/exampleHello.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/exampleHello.pm (revision 32629)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/exampleHello.pm (revision 32629)
@@ -0,0 +1,23 @@
+package exampleHello;
+
+use base qw/Exporter/;
+use strict;
+
+our @EXPORT_OK = qw/hello_name hello_where/;
+
+sub hello_name {my %arg = @_; "hello, " . ($arg{name} || '')}
+sub hello_where {
+  my ($at, $in) = @_;
+  return @_ > 1 ? "hello, $at in $in" : "hello, $at";
+}
+
+sub hey {
+  my ($at, $in) = @_;
+  unless ($at) {
+    return "hey, $in";
+  } else {
+    return "hey, $at in $in";
+  }
+}
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilExporterSimple.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilExporterSimple.pm (revision 31439)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilExporterSimple.pm (revision 31439)
@@ -0,0 +1,33 @@
+package UtilExporterSimple;
+
+use strict;
+use Clone qw/clone/;
+BEGIN {
+  my $err;
+  {
+    local $@;
+    eval "use Exporter::Simple ()";
+    $err = $@;
+  }
+  if ($err) {
+    die $err;
+  } else {
+    use Util::Any -ExporterSimple;
+    eval <<'_CODE';
+         our @bar : Exportable(vars) = (2, 3, 5, 7);
+         our $foo : Exported(vars)   = 42;
+         our %baz : Exported         = (a => 65, b => 66);
+
+         sub hello : Exported(greet,uk)   { "hello there" }
+         sub askme : Exportable           { "what you will" }
+         sub hi    : Exportable(greet,us) { "hi there" }
+_CODE
+  }
+}
+
+our $Utils = clone $Util::Any::Utils;
+$Utils->{l2s} = [
+                 ['List::Util', '', [qw(first min minstr max maxstr sum)]],
+                ];
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilSubExporter.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilSubExporter.pm (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilSubExporter.pm (revision 32282)
@@ -0,0 +1,40 @@
+package UtilSubExporter;
+
+use strict;
+use Clone qw/clone/;
+BEGIN {
+  my $err;
+  {
+    local $@;
+    eval "use Sub::Exporter ()";
+    $err = $@;
+  }
+  if ($err) {
+    die $err;
+  }
+}
+
+use Util::Any -SubExporter;
+
+Sub::Exporter::setup_exporter
+  (
+   {
+    as => 'do_import',
+    exports => [qw/hello askme hi/],
+    groups  => {
+              greet => [qw/hello hi/],
+              uk    => [qw/hello/],
+              us    => [qw/hi/],
+             }}
+);
+
+our $Utils = clone $Util::Any::Utils;
+$Utils->{-l2s} = [
+                 ['List::Util', '', [qw(first min minstr max maxstr sum)]],
+                ];
+
+sub hello { "hello there" }
+sub askme { "what you will" }
+sub hi    { "hi there" }
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/One.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/One.pm (revision 35361)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/One.pm (revision 35361)
@@ -0,0 +1,32 @@
+package One;
+
+use Util::Any -Base;
+use Clone qw/clone/;
+
+our $Utils = $Util::Any::Utils;
+
+$Utils->{cpan_l2s} = [
+    ['List::Util', '', {
+        first  => 'l2s_first',
+        max    => 'l2s_max',
+        maxstr => 'l2s_maxstr',
+        min    => 'l2s_min',
+        minstr => 'l2s_minstr',
+        sum    => 'l2s_sum',
+        minmax => 'l2s_minmax',
+    }],
+    ['List::MoreUtils', '', {
+        any      => 'l2s_any',
+        all      => 'l2s_all',
+        none     => 'l2s_none',
+        notall   => 'l2s_notall',
+        true     => 'l2s_true',
+        false    => 'l2s_false',
+        firstidx => 'l2s_firstidx',
+        firstval => 'l2s_firstval',
+        lastidx  => 'l2s_lastidx',
+        lastval  => 'l2s_lastval'
+    }],
+];
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/MyUtil.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/MyUtil.pm (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/MyUtil.pm (revision 32282)
@@ -0,0 +1,12 @@
+package MyUtil;
+
+use base qw/Util::Any/;
+our $Utils =
+  {
+   list    => [['List::Util' => 'lu_']],
+   -list   => [['List::Util' => 'lu_']],
+   ':list' => [['List::Util' => 'lu_']],
+   error   => ['Ktat::Ktat::Ktat'],
+  };
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable2.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable2.pm (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable2.pm (revision 35482)
@@ -0,0 +1,27 @@
+package UtilPluggable::Plugin::Pluggable2;
+
+sub utils {
+  return
+    {
+     -pluggable => [
+                    [
+                     'UtilPluggable', '', # dummy,
+                     {
+                      "test2" => sub {sub (){ return "test2\n"}}
+                     }
+                    ]
+                   ],
+     -pluggable2 => [
+                     [
+                      'UtilPluggable', '', # dummy,
+                      {
+                       "test3" => sub {sub (){ return "test3\n"}}
+                      }
+                     ]
+                    ]
+    }
+}
+
+1;
+
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable/XXX.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable/XXX.pm (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable/XXX.pm (revision 35482)
@@ -0,0 +1,18 @@
+package UtilPluggable::Plugin::Pluggable::XXX;
+
+use strict;
+
+sub utils {
+  return {
+          -pluggable_xxx => [
+                             [
+                              'UtilPluggable', '', # dummy,
+                              {
+                               "xxx" => sub {sub (){ return "xxx\n"}}
+                              }
+                             ]
+                            ],
+         };
+}
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable.pm (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable/Plugin/Pluggable.pm (revision 35482)
@@ -0,0 +1,19 @@
+package UtilPluggable::Plugin::Pluggable;
+
+sub utils {
+  return
+    {
+     -pluggable => [
+                    [
+                     'UtilPluggable', '', # dummy,
+                     {
+                      "test" => sub {sub (){ return "test\n"}}
+                     }
+                    ]
+                   ],
+    }
+}
+
+1;
+
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/SubExporterGenerator.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/SubExporterGenerator.pm (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/SubExporterGenerator.pm (revision 35510)
@@ -0,0 +1,55 @@
+package SubExporterGenerator;
+
+use strict;
+use Util::Any -Base;
+
+our $Utils =
+  {
+   -test => [
+             [
+              'List::MoreUtils', '',
+              {
+               foo => sub {sub () {"foo"} },
+               -select => ['uniq'],
+              }
+             ],
+             [
+             'List::Util', '',
+             {
+              -select => ['shuffle'],
+              min => \&build_min_reformatter,
+              max => \&build_max_reformatter,
+              hoge => sub { sub () {"hogehoge"}},
+              check_default => \&check_default,
+             }
+            ],
+            ]
+  };
+
+sub build_min_reformatter {
+  my ($pkg, $class, $name, @option) = @_;
+  no strict 'refs';
+  my $code = do { no strict 'refs'; \&{$class . '::' . $name}};
+  sub {
+    my @args = @_;
+    $code->(@args, ($option[0]->{under} || ()));
+  }
+}
+
+sub build_max_reformatter {
+  my ($pkg, $class, $name, @option) = @_;
+  my $code = do { no strict 'refs'; \&{$class . '::' . $name}};
+  sub {
+    my @args = @_;
+    $code->(@args, ($option[0]->{upper} || ()));
+  }
+}
+
+sub check_default {
+  my ($pkg, $class, $name, $args, $default_args) = @_;
+  sub {
+    return $default_args;
+  }
+}
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable.pm (revision 35474)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPluggable.pm (revision 35474)
@@ -0,0 +1,14 @@
+package UtilPluggable;
+
+use Util::Any -Base, -Pluggable;
+
+our $Utils = {
+	      -pluggable => [
+			     [
+			      "String::CamelCase", '',
+			      ["camelize"],
+			     ],
+			    ]
+};
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPerl6ExportAttrsBase.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPerl6ExportAttrsBase.pm (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilPerl6ExportAttrsBase.pm (revision 31434)
@@ -0,0 +1,33 @@
+package UtilPerl6ExportAttrsBase;
+
+use strict;
+use Clone qw/clone/;
+BEGIN {
+  my $err;
+  {
+    local $@;
+    eval "use Perl6::Export::Attrs ()";
+    $err = $@;
+  }
+  if ($err) {
+    die $err;
+  } else {
+    use Util::Any -Perl6ExportAttrs;
+    eval <<_CODE;
+      sub foo :Export(:DEFAULT) {
+        return "foo!";
+      }
+
+      sub bar :Export(:bar) {
+        return "bar!";
+      }
+_CODE
+  }
+}
+
+our $Utils = clone $Util::Any::Utils;
+$Utils->{l2s} = [
+                 ['List::Util', '', [qw(first min minstr max maxstr sum)]],
+                ];
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilSubExporter2.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilSubExporter2.pm (revision 35485)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/UtilSubExporter2.pm (revision 35485)
@@ -0,0 +1,51 @@
+package UtilSubExporter2;
+
+use strict;
+use Clone qw/clone/;
+BEGIN {
+  my $err;
+  {
+    local $@;
+    eval "use Sub::Exporter ()";
+    $err = $@;
+  }
+  if ($err) {
+    die $err;
+  }
+}
+
+use Util::Any -SubExporter;
+
+Sub::Exporter::setup_exporter
+  (
+   {
+    as => $UtilSubExporter2::SubExporterImport = '___import___',
+    exports => [qw/hello askme hi/],
+    groups  => {
+              greet => [qw/hello hi/],
+              uk    => [qw/hello/],
+              us    => [qw/hi/],
+             }}
+);
+
+our $Utils = clone $Util::Any::Utils;
+$Utils->{-l2s} = [
+                  ['List::Util', '',,
+                  {
+                   -select => [qw(first min minstr max maxstr sum)],
+                  }
+                  ],
+                  [
+                   'UtilSubExporter2', '',
+                   {
+                    'hoge' => \&hoge_generator, # generator
+                    'hogehoge' => 'hello', # &hello
+                   }
+                  ]
+                ];
+
+sub hello { "hello there" }
+sub askme { "what you will" }
+sub hi    { "hi there" }
+sub hoge_generator { sub {} };
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/Inherit.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/Inherit.pm (revision 35361)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/lib/Inherit.pm (revision 35361)
@@ -0,0 +1,32 @@
+package Inherit;
+
+use Util::Any -Base;
+use Clone qw/clone/;
+
+our $Utils = $Util::Any::Utils;
+
+$Utils->{cpan_l2s} = [
+    ['List::Util', '', {
+        first  => 'l2s_first',
+        max    => 'l2s_max',
+        maxstr => 'l2s_maxstr',
+        min    => 'l2s_min',
+        minstr => 'l2s_minstr',
+        sum    => 'l2s_sum',
+        minmax => 'l2s_minmax',
+    }],
+    ['List::MoreUtils', '', {
+        any      => 'l2s_any',
+        all      => 'l2s_all',
+        none     => 'l2s_none',
+        notall   => 'l2s_notall',
+        true     => 'l2s_true',
+        false    => 'l2s_false',
+        firstidx => 'l2s_firstidx',
+        firstval => 'l2s_firstval',
+        lastidx  => 'l2s_lastidx',
+        lastval  => 'l2s_lastval'
+    }],
+];
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter-all.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter-all.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter-all.t (revision 35510)
@@ -0,0 +1,25 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilExporter qw/:all/;";
+  $err = $@;
+}
+use strict;
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(defined &hello,  'defined hello');
+  ok(defined &askme,  'defined askme');
+  ok(defined &hi,     'defined hi');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-synopsis.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-synopsis.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-synopsis.t (revision 35510)
@@ -0,0 +1,92 @@
+use Test::More qw/no_plan/;
+
+package A0;
+use Test::More;
+
+use Util::Any 'all';
+ok(defined &min);
+ok(defined &camelize);
+
+package A01;
+use Test::More;
+
+use Util::Any ':all';
+ok(defined &min);
+ok(defined &camelize);
+
+package A02;
+use Test::More;
+
+use Util::Any -all;
+ok(defined &min);
+ok(defined &camelize);
+
+package A03;
+use Test::More;
+
+use Util::Any 'all', {prefix => 1};
+ok(defined &list_min);
+ok(defined &string_camelize);
+
+package A04;
+use Test::More;
+
+use Util::Any {'list' => ['uniq']};
+ok(defined &uniq, "");
+ok(!defined &camelize);
+
+package A05;
+use Test::More;
+
+use Util::Any {'list' => ['min'], -string => ['camelize']}, {prefix => 1};
+ok(defined &list_min, "");
+ok(!defined &string_uniq);
+ok(defined &string_camelize);
+
+package A1;
+use Test::More;
+
+use Util::Any -list => ['uniq', 'min'], {prefix => 1};
+ok(defined &list_uniq, 'list_uniq');
+ok(defined &list_min, 'list_min  defined');
+ok(!defined &list_shuffle, 'list_shuffle is not defined');
+ok(!defined &shuffle, 'shuffle is not defined');
+ok(!defined &min, 'min is not defined');
+
+package A2;
+
+use Test::More;
+use Util::Any -list, {prefix => 1};
+ok(defined &list_uniq, 'list_uniq');
+ok(defined &list_min,  'list_min');
+
+package AA;
+
+use Test::More;
+
+use Util::Any -list => {-prefix => "l_"};
+is_deeply([l_uniq qw/1 0 1 2 3 3/], [1,0,2,3]);
+
+package CC;
+
+use Test::More;
+
+use Util::Any -list => {uniq => {-as => 'listuniq'}};
+is_deeply([listuniq qw/1 0 1 2 3 3/], [1,0,2,3]);
+
+package DD;
+use Test::More;
+
+use Util::Any -list => {uniq => {-as => 'li_uniq'}, -prefix => "l_"};
+is_deeply([li_uniq qw/1 0 1 2 3 3/], [1,0,2,3]);
+is(l_min(qw/10 9 8 4 5 7/), 4);
+ok(!defined &l_uniq);
+
+package EE;
+use Test::More;
+
+use Util::Any -list => {uniq => {-as => 'li_uniq'}, -prefix => "ll_"}, {smart_rename => 1};
+is_deeply([li_uniq qw/1 0 1 2 3 3/], [1,0,2,3]);
+is(ll_min(qw/10 9 8 4 5 7/), 4);
+ok(!defined &ll_uniq);
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/03-debug.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/03-debug.t (revision 25947)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/03-debug.t (revision 25947)
@@ -0,0 +1,19 @@
+use lib qw(./lib ./t/lib);
+
+BEGIN {
+  close STDERR;
+  open STDERR, ">", \$err or die $!;
+}
+
+BEGIN {
+  use MyUtil qw/error/, {debug => 1};
+  print $err =~ m{Ktat} ? "ok\n" : "not ok\n# $err\n";
+}
+
+BEGIN {
+  eval 'use MyUtil qw/error/, {debug => 2};';
+  print $@ =~ m{locate Ktat} ? "ok\n" : "not ok\n# $@\n";
+}
+
+print "1..2\n";
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/pod-coverage.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/pod-coverage.t (revision 25725)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/pod-coverage.t (revision 25725)
@@ -0,0 +1,6 @@
+#!perl -T
+
+use Test::More;
+eval "use Test::Pod::Coverage 1.04";
+plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
+all_pod_coverage_ok();
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-like-export.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-like-export.t (revision 35387)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-like-export.t (revision 35387)
@@ -0,0 +1,32 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+use Util::Any
+    -list => {-prefix => 'list__'},
+    -string => {camelize => {-as => 'camel'}},
+    -scalar => {-prefix => 'sss_'};
+    
+use strict;
+use Test::More qw/no_plan/;
+
+ok(defined &list__uniq, 'uniq as list__uniq');
+ok(defined &camel, 'camelcase as camel');
+ok(defined &sss_weaken, 'weaken as sss_weaken');
+ok(defined &sss_isweak, 'isweak as sss_isweake');
+ok(sss_blessed(bless {}), "blessed as Blessed");
+
+package fuga;
+
+use Test::More;
+use lib qw(./lib ./t/lib);
+
+use Util::Any
+    -list => {-prefix => 'list__'},
+    -string => {camelize => {-as => 'camel'}},
+    -scalar => {-prefix => 'sss_', blessed => {-as => 'Blessed'}};
+    
+ok(defined &list__uniq, 'uniq as list__uniq');
+ok(defined &camel, 'camelcase as camel');
+ok(Blessed(bless {}), "blessed as Blessed");
+ok(defined &sss_weaken, "weaken as sss_weaken");
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-all-prefix.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-all-prefix.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-all-prefix.t (revision 25939)
@@ -0,0 +1,20 @@
+use Test::More qw/no_plan/;
+
+use Util::Any qw/All/, {prefix => 1};
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{'list_' . $_} , $_);
+}
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(defined &{'list_' . $_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(defined &{'scalar_' . $_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(defined &{'hash_' . $_} , $_) if defined &{'Hash::Util::' . $_};
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter2.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter2.t (revision 31439)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter2.t (revision 31439)
@@ -0,0 +1,19 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+use UtilExporter qw/askme :us/;
+use strict;
+
+use Test::More qw/no_plan/;
+
+ok(!defined &first,  'not defined first');
+ok(!defined &min,    'not defined min');
+ok(!defined &minstr, 'not defined minstr');
+ok(!defined &hello, 'not defined hello');
+ok(defined &askme, 'defined askme');
+ok(defined &hi,    'defined hi');
+
+is(askme(), "what you will", 'askme');
+is(hi(), "hi there", 'hi');
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/12-sub-exporter-like-export.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/12-sub-exporter-like-export.t (revision 32629)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/12-sub-exporter-like-export.t (revision 32629)
@@ -0,0 +1,24 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+use UtilExporter
+  -hello => [hello_name  => {-as => 'hello_rename'},
+             hey => {-as => 'hey_japan', in => 'japan'},
+             hey => {-as => 'hey_osaka', in => 'japan', at => 'osaka'}],
+ 'askme';
+
+
+use strict;
+use Test::More qw/no_plan/;
+
+ok(defined &hello_rename, 'defined hello_rename');
+ok(defined &hey_japan,  'defined hello_japan');
+ok(defined &askme,  'defined askme');
+
+is(hello_rename()    , 'hello, ', 'hello_rename');
+is(hey_japan()       , 'hey, japan', 'hey_japan');
+is(hey_japan("Osaka"), 'hey, Osaka in japan', 'hey_japan("Osaka")');
+is(hey_osaka()       , 'hey, osaka in japan', 'hey_osaka');
+is(hey_osaka("Osaka"), 'hey, Osaka in japan', 'hey_osaka("Osaka")');
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-scalar.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-scalar.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-scalar.t (revision 25939)
@@ -0,0 +1,21 @@
+use Test::More qw/no_plan/;
+
+use Util::Any qw/Scalar/;
+no strict 'refs';
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok( defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar-prefix-sign.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar-prefix-sign.t (revision 35361)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar-prefix-sign.t (revision 35361)
@@ -0,0 +1,26 @@
+use Test::More qw/no_plan/;
+
+use Util::Any {'-scalar' => [qw/blessed weaken/]}, {prefix => 1};
+no strict 'refs';
+
+ok(defined &scalar_weaken , 'scalar_weaken');
+ok(defined &scalar_blessed , 'scalar_blessed');
+my $hoge = bless {};
+ok(scalar_blessed $hoge, "blessed test");
+
+foreach (grep {$_ ne 'weaken' and $_ ne 'blessed'} @Scalar::Util::EXPORT_OK) {
+  ok(! defined &{'scalar_' . $_} , 'not defined ' . $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , 'not defined ' . $_) if defined &{'Hash::Util::' . $_};
+}
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(! defined &{'list_' . $_} , 'not defined ' . $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{'list_' . $_} , 'not defined ' . $_);
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-no-args.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-no-args.t (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter-no-args.t (revision 32282)
@@ -0,0 +1,24 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilSubExporter";
+  $err = $@;
+}
+
+use strict;
+use Test::More qw/no_plan/;
+
+SKIP: {
+skip $@ if $err;
+
+
+ok(!defined &first,       'not defined first');
+ok(!defined &min,         'not defined min');
+ok(!defined &minstr,      'not defined minstr');
+ok(!defined &hello,       'not defined hello');
+ok(!defined &hi,          'not defined hi');
+ok(!defined &askme,       'not defined askme');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/12-sub-exporter-like-export-with-args.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/12-sub-exporter-like-export-with-args.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/12-sub-exporter-like-export-with-args.t (revision 35510)
@@ -0,0 +1,10 @@
+use Test::More qw/no_plan/;
+use strict;
+
+use lib qw(./lib t/lib);
+
+use SubExporterGenerator -test => [-args => { hoge => "fuga"}];
+
+is_deeply(check_default(), {hoge => "fuga"});
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/13-inherit.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/13-inherit.t (revision 35361)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/13-inherit.t (revision 35361)
@@ -0,0 +1,12 @@
+use Test::More qw/no_plan/;
+
+use lib qw(t/lib ./lib ../t/lib);
+use Two;
+
+use Inherit qw(
+           :ALL
+           cpan_l2s
+        );
+
+my $sum = l2s_sum 1 .. 10;
+is("$sum", 55);
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable_lazy.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable_lazy.t (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable_lazy.t (revision 35482)
@@ -0,0 +1,82 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib t/lib);
+
+require UtilPluggable;
+
+package BBB;
+
+UtilPluggable->import(-pluggable2);
+use Test::More;
+ok( defined &UtilPluggable::Plugin::Pluggable2::utils);
+ok(!defined &UtilPluggable::Plugin::Pluggable::utils);
+ok(!defined &test);
+ok(!defined &test2);
+ok(!defined &camelize);
+ok(!defined &xxx);
+ok(defined &test3);
+
+main::unload();
+
+package AAA;
+
+UtilPluggable->import(-pluggable_all);
+use Test::More;
+
+ok(defined &UtilPluggable::Plugin::Pluggable::utils);
+ok(!defined &UtilPluggable::Plugin::Pluggable2::utils);
+ok(defined &test);
+ok(!defined &test2);
+ok(defined &camelize);
+ok(!defined &test3);
+ok(defined &xxx); 
+
+main::unload();
+
+package CCC;
+
+use Test::More;
+UtilPluggable->import(-pluggable, -pluggable2);
+
+ok(defined &test);
+ok(defined &test2);
+ok(defined &camelize);
+ok(defined &test3);
+ok(!defined &xxx);
+
+main::unload();
+
+package DDD;
+
+use Test::More;
+UtilPluggable->import(-all);
+
+ok(defined &test);
+ok(defined &test2);
+ok(defined &camelize);
+ok(defined &test3);
+ok(defined &xxx);
+
+main::unload();
+
+package EEE;
+
+use Test::More;
+UtilPluggable->import(-pluggable_xxx);
+
+ok(!defined &test);
+ok(!defined &test2);
+ok(!defined &camelize);
+ok(!defined &test3);
+ok(defined &xxx);
+
+main::unload();
+
+package main;
+
+sub unload {
+  delete @INC{qw{UtilPluggable/Plugin/Pluggable.pm UtilPluggable/Plugin/Pluggable2.pm}};
+  undef &UtilPluggable::Plugin::Pluggable::utils;
+  undef &UtilPluggable::Plugin::Pluggable2::utils;
+  undef &Util::Pluggable::plugins;
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple.t (revision 31439)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple.t (revision 31439)
@@ -0,0 +1,26 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilExporterSimple qw/l2s/;";
+  $err = $@;
+}
+use strict;
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(defined &hello, 'defined hello - why defined?');
+  ok(!defined &askme, 'not defined askme');
+  ok(!defined &hi,    'not defined hi');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+  is(hello(), "hello there", 'hello');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/11-sub-exporter-all.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/11-sub-exporter-all.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/11-sub-exporter-all.t (revision 35510)
@@ -0,0 +1,26 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilSubExporter '-all'";
+  $err = $@;
+}
+
+use strict;
+use Test::More qw/no_plan/;
+
+SKIP: {
+skip $err if $err;
+
+ok(defined &first,  'defined first');
+ok(defined &min,    'defined min');
+ok(defined &minstr, 'defined minstr');
+ok(defined &hello,       'defined hello');
+ok(defined &hi,          'defined hi');
+ok(defined &askme,       'defined askme');
+
+is((first {$_ >= 4} (2,10,4,3,5)), 10, 'list first');
+
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/11-sub-exporter-full-all.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/11-sub-exporter-full-all.t (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/11-sub-exporter-full-all.t (revision 32282)
@@ -0,0 +1,28 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilSubExporter ':all'";
+  $err = $@;
+}
+
+use strict;
+use Test::More qw/no_plan/;
+
+SKIP: {
+skip $err if $err;
+
+ok(defined &first,  'defined first');
+ok(defined &min,    'defined min');
+ok(defined &minstr, 'defined instr');
+ok(defined &hello,  'defined hello');
+ok(defined &hi,     'defined hi');
+ok(defined &askme,  'defined askme');
+
+is(askme(), "what you will", 'askme');
+is(hi(), "hi there", 'hi');
+is((first {$_ >= 4} (2,10,4,3,5)), 10, 'list first');
+
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable.t (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/14-pluggable.t (revision 35482)
@@ -0,0 +1,51 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib t/lib);
+
+require UtilPluggable;
+
+package BBB;
+
+UtilPluggable->import(-pluggable2, {plugin => 'eager'});
+use Test::More;
+ok( defined &UtilPluggable::Plugin::Pluggable2::utils);
+ok( defined &UtilPluggable::Plugin::Pluggable::utils);
+ok(!defined &test);
+ok(!defined &test2);
+ok(!defined &camelize);
+ok(defined &test3);
+delete @INC{qw{UtilPluggable/Plugin/Pluggable.pm UtilPluggable/Plugin/Pluggable2.pm}};
+undef &UtilPluggable::Plugin::Pluggable::utils;
+undef &UtilPluggable::Plugin::Pluggable2::utils;
+
+package AAA;
+
+UtilPluggable->import(-pluggable, {plugin => 'eager'});
+use Test::More;
+
+ok(defined &UtilPluggable::Plugin::Pluggable2::utils);
+ok(defined &UtilPluggable::Plugin::Pluggable::utils);
+ok(defined &test);
+ok(defined &test2);
+ok(defined &camelize);
+ok(!defined &test3);
+
+package CCC;
+
+use Test::More;
+UtilPluggable->import(-pluggable, -pluggable2, {plugin => 'eager'});
+
+ok(defined &test);
+ok(defined &test2);
+ok(defined &camelize);
+ok(defined &test3);
+
+package DDD;
+
+use Test::More;
+UtilPluggable->import(-all, {plugin => 'eager'});
+
+ok(defined &test);
+ok(defined &test2);
+ok(defined &camelize);
+ok(defined &test3);
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs.t (revision 31434)
@@ -0,0 +1,24 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+use strict;
+
+my $err;
+BEGIN {
+  eval "use UtilPerl6ExportAttrs qw/l2s/;";
+  $err = $@;
+}
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(!defined &foo,    'defined foo');
+  ok(!defined &bar,    'not defined bar');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-list.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-list.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-util-kind-list.t (revision 25939)
@@ -0,0 +1,21 @@
+use Test::More qw/no_plan/;
+
+use Util::Any qw/List/;
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar.t (revision 25939)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/02-util-func-scalar.t (revision 25939)
@@ -0,0 +1,26 @@
+use Test::More qw/no_plan/;
+
+use Util::Any {Scalar => [qw/blessed weaken/]};
+no strict 'refs';
+
+ok(defined &weaken , 'weaken');
+ok(defined &blessed , 'blessed');
+my $hoge = bless {};
+ok(blessed $hoge, "blessed test");
+
+foreach (grep {$_ ne 'weaken' and $_ ne 'blessed'} @Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs-no-args.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs-no-args.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs-no-args.t (revision 31434)
@@ -0,0 +1,22 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+use strict;
+my $err;
+BEGIN {
+  eval "use UtilPerl6ExportAttrs";
+  $err = $@;
+}
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(!defined &first,  'not defined first');
+  ok(!defined &min,    'not defined min');
+  ok(!defined &minstr, 'not defined minstr');
+  ok(defined &foo,     'defined foo');
+  ok(!defined &bar,    'not defined bar');
+
+  is(foo(), "foo!", 'foo');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple-all.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple-all.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple-all.t (revision 35510)
@@ -0,0 +1,26 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilExporterSimple qw/:all/;";
+  $err = $@;
+}
+use strict;
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(defined &hello, 'defined hello - why defined?');
+  ok(!defined &askme, 'not defined askme');
+  ok(!defined &hi,    'not defined hi');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+  is(hello(), "hello there", 'hello');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-util_any_base-prefix.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-util_any_base-prefix.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/05-util_any_base-prefix.t (revision 31434)
@@ -0,0 +1,28 @@
+use Test::More qw/no_plan/;
+
+use lib qw(./lib ./t/lib);
+use List::Util ();
+use List::MoreUtils ();
+use Hash::Util ();
+use Scalar::Util ();
+
+use MyUtilBase qw/list/, {module_prefix => 1};
+no strict 'refs';
+
+foreach (@List::Util::EXPORT_OK) {
+  ok(defined &{'lu_' . $_} , $_);
+}
+
+foreach (@List::MoreUtils::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Scalar::Util::EXPORT_OK) {
+  ok(! defined &{$_} , $_);
+}
+
+foreach (@Hash::Util::EXPORT_OK) {
+  no strict 'refs';
+  ok(! defined &{$_} , $_) if defined &{'Hash::Util::' . $_};
+}
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/00-load.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/00-load.t (revision 25725)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/00-load.t (revision 25725)
@@ -0,0 +1,9 @@
+#!perl -T
+
+use Test::More tests => 1;
+
+BEGIN {
+	use_ok( 'Util::Any' );
+}
+
+diag( "Testing Util::Any $Util::Any::VERSION, Perl $], $^X" );
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter2.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter2.t (revision 35482)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/10-sub-exporter2.t (revision 35482)
@@ -0,0 +1,33 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilSubExporter2 -greet => {-prefix => 'greet_'},
+                             -l2s   => {hello => {-as => 'hello_hogehoge'}},
+                             'askme' => {-as => 'ask_me'};";
+  $err = $@;
+}
+
+use strict;
+use Test::More qw/no_plan/;
+
+SKIP: {
+skip $err if $err;
+
+ok(!defined &list__first,  'not defined list__first');
+ok(!defined &list___min,   'not defined min as list___min');
+ok(!defined &list__minstr, 'not defined list__minstr');
+ok(defined &greet_hello,  'defined greet_hello');
+ok(defined &greet_hi,     'defined greet_hi');
+ok(defined &ask_me,       'defined askme as ask_me');
+ok(defined &hello_hogehoge, 'defined hello as hello_hogehoeg');
+ok(!defined &hello,         'not defined hello');
+ok(!defined &hogehoge,      'not defined hogehoge');
+
+
+is(ask_me(), "what you will", 'askme');
+is(greet_hi(), "hi there", 'hi');
+
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/03-priority.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/03-priority.t (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/03-priority.t (revision 35510)
@@ -0,0 +1,52 @@
+use Test::More qw/no_plan/;
+use strict;
+use lib qw(./lib t/lib);
+require Util::Any;
+
+$Util::Any::Utils->{-list} = [
+                              ["List::Util", "LLLL"],
+                              ["List::MoreUtils", "llll"],
+                             ];
+
+package AAA;
+use Test::More;
+
+Util::Any->import(-list => {uniq => {-as => 'luniq'}, -prefix => "ll"}, {prefix => 1, module_prefix => 1, smart_rename => 1});
+ok(defined &luniq);
+
+package BBB;
+use Test::More;
+
+Util::Any->import(-list => ['uniq', -prefix => "ll"], {prefix => 1, module_prefix => 1, smart_rename => 1});
+
+ok(defined &lluniq);
+
+package CCC;
+use Test::More;
+
+Util::Any->import(-list => ['uniq'], {prefix => 1, module_prefix => 1, smart_rename => 1});
+
+ok(defined &lllluniq);
+
+package DDD;
+use Test::More;
+
+Util::Any->import(-list => ['uniq'], {prefix => 1, smart_rename => 1});
+
+ok(defined &list_uniq);
+
+package EEE;
+use Test::More;
+
+Util::Any->import(-list => ['uniq'], {module_prefix => 1, smart_rename => 1});
+
+ok(defined &lllluniq);
+
+package FFF;
+use Test::More;
+
+Util::Any->import(-list => ['uniq'], {module_prefix => 1, prefix => 1});
+
+ok(defined &lllluniq);
+
+1;
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-synopsis-with-generator.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-synopsis-with-generator.t (revision 35485)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/01-synopsis-with-generator.t (revision 35485)
@@ -0,0 +1,114 @@
+use Test::More qw/no_plan/;
+
+use lib 't/lib';
+require SubExporterGenerator;
+
+package A0;
+use Test::More;
+
+SubExporterGenerator->import( 'all');
+ok(defined &min);
+ok(defined &uniq);
+ok(defined &shuffle);
+ok(defined &max);
+is(hoge(), "hogehoge");
+
+package A01;
+use Test::More;
+
+SubExporterGenerator->import( ':all');
+ok(defined &min);
+ok(defined &uniq);
+ok(defined &shuffle);
+ok(defined &max);
+is(hoge(), "hogehoge");
+
+package A02;
+use Test::More;
+
+SubExporterGenerator->import( -all);
+ok(defined &min);
+ok(defined &uniq);
+ok(defined &shuffle);
+ok(defined &max);
+is(hoge(), "hogehoge");
+
+package A03;
+use Test::More;
+
+SubExporterGenerator->import( 'all', {prefix => 1});
+ok(defined &test_min, 'min as test_min');
+ok(defined &test_shuffle);
+is(test_hoge(), "hogehoge");
+
+package A04;
+use Test::More;
+
+SubExporterGenerator->import( {'-test' => ['uniq']});
+ok(defined &uniq, "");
+ok(!defined &camelize);
+ok(!defined &test_hoge);
+
+package A05;
+use Test::More;
+
+SubExporterGenerator->import( {'-test' => ['min']}, {prefix => 1});
+
+ok(defined &test_min, "min as test_min");
+
+package A1;
+use Test::More;
+
+SubExporterGenerator->import( -test => ['uniq', 'min'], {prefix => 1});
+ok(defined &test_uniq, 'test_uniq');
+ok(defined &test_min, 'test_min  defined');
+ok(!defined &test_shuffle, 'test_shuffle is not defined');
+ok(!defined &shuffle, 'shuffle is not defined');
+ok(!defined &min, 'min is not defined');
+
+package A2;
+
+use Test::More;
+SubExporterGenerator->import( -test, {prefix => 1});
+ok(defined &test_uniq, 'test_uniq');
+ok(defined &test_min,  'test_min');
+ok(test_hoge, "hogehoge");
+package AA;
+
+use Test::More;
+
+SubExporterGenerator->import( -test => {-prefix => "l_"});
+is_deeply([l_uniq(qw/1 0 1 2 3 3/)], [1,0,2,3]);
+
+package CC;
+
+use Test::More;
+
+SubExporterGenerator->import( -test => {uniq => {-as => 'listuniq'}});
+is_deeply([listuniq(qw/1 0 1 2 3 3/)], [1,0,2,3]);
+
+package DD;
+use Test::More;
+
+SubExporterGenerator->import( -test => {uniq => {-as => 'li_uniq'}, -prefix => "l_"});
+is_deeply([li_uniq(qw/1 0 1 2 3 3/)], [1,0,2,3]);
+is(l_min(qw/10 9 8 4 5 7/), 4);
+ok(!defined &l_uniq);
+
+package EE;
+use Test::More;
+
+SubExporterGenerator->import( -test => ["shuffle", "max", min => {-as, "minmin"} , uniq => {-as => 'li_uniq'},
+			       hoge => {-as => "fuga"}, hoge => {-as => "hoge2"}, foo => {-as => "foo1"}, foo => {-as => "foo2"}]);
+is_deeply([li_uniq(qw/1 0 1 2 3 3/)], [1,0,2,3]);
+ok(defined &shuffle, 'defined shuffle');
+ok(!defined &min, 'not defined min');
+ok(defined &max, 'defined max');
+ok(defined &minmin, 'min as minmin');
+is(minmin(12,3,4,5), 3);
+is(fuga(), "hogehoge");
+is(hoge2(), "hogehoge");
+is(foo1(), "foo");
+is(foo2(), "foo");
+ok(!defined &foo);
+ok(!defined &hoge);
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter-no-args.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter-no-args.t (revision 31439)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/09-exporter-no-args.t (revision 31439)
@@ -0,0 +1,24 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilExporter;";
+  $err = $@;
+}
+use strict;
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(!defined &first,  'not defined first');
+  ok(!defined &min,    'not defined min');
+  ok(!defined &minstr, 'not defined minstr');
+  ok(defined &hello,  'defined hello');
+  ok(!defined &askme, 'not defined askme');
+  ok(!defined &hi,    'not defined hi');
+
+  is(hello(), "hello there", 'hello');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option-select.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option-select.t (revision 32282)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/04-option-select.t (revision 32282)
@@ -0,0 +1,33 @@
+use strict;
+
+package UtilOption;
+
+use base qw/Util::Any/;
+use strict;
+
+our $Utils = {
+              list  => [
+                         [
+                          'List::Util', '',
+                          {
+                           'first' => 'list_first',
+                           'sum'   => 'lsum',
+                           'min'   => 'lmin',
+                           -select => ['first', 'sum', 'shuffle'],
+                          }
+                         ]
+                        ],
+             };
+
+
+UtilOption->import(qw/list/);
+use Test::More qw/no_plan/;
+
+ok(defined &list_first, 'defined first as list_first');
+ok(defined &lsum, 'defined sum as lsum');
+ok(defined &lmin, 'defined min as lmin but not in select');
+ok(defined &shuffle, 'not defined shuffle');
+ok(!defined &min,    'not defined min');
+ok(!defined &minstr, 'not defined minstr');
+ok(!defined &reduce, 'not defined reduce');
+
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple2.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple2.t (revision 31439)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/08-exporter-simple2.t (revision 31439)
@@ -0,0 +1,25 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+
+my $err;
+BEGIN {
+  eval "use UtilExporterSimple qw/askme :us/;";
+  $err = $@;
+}
+use strict;
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(!defined &first,  'not defined first');
+  ok(!defined &min,    'not defined min');
+  ok(!defined &minstr, 'not defined minstr');
+  ok(!defined &hello, 'not defined hello');
+  ok(defined &askme, 'not defined askme');
+  ok(defined &hi,    'not defined hi');
+
+  is(askme(), "what you will", 'askme');
+  is(hi(), "hi there", 'hi');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs2.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs2.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/06-perl6-export-attrs2.t (revision 31434)
@@ -0,0 +1,23 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+use strict;
+my $err;
+BEGIN {
+  eval "use UtilPerl6ExportAttrs qw/l2s :bar/";
+  $err = $@;
+}
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(!defined &foo,   'not defined foo');
+  ok(defined &bar,    'defined bar');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+  is(bar(), 'bar!', 'bar');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs2.t
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs2.t (revision 31434)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/t/07-perl6-export-attrs2.t (revision 31434)
@@ -0,0 +1,24 @@
+use strict;
+
+use lib qw(./lib ./t/lib);
+use strict;
+my $err;
+BEGIN {
+  eval "use UtilPerl6ExportAttrsBase qw/l2s :bar/;";
+  $err = $@;
+}
+
+use Test::More qw/no_plan/;
+
+SKIP: {
+  skip $err if $err;
+  ok(defined &first,  'defined first');
+  ok(defined &min,    'defined min');
+  ok(defined &minstr, 'defined minstr');
+  ok(!defined &foo,   'not defined foo');
+  ok(defined &bar,    'defined bar');
+
+  is((first { defined $_} ("abc","def", "ghi")), "abc", "first");
+  is(min(20, 50, 10), 10, "min");
+  is(bar(), 'bar!', 'bar');
+}
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/MANIFEST
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/MANIFEST (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/MANIFEST (revision 35510)
@@ -0,0 +1,86 @@
+Changes
+MANIFEST
+META.yml # Will be created by "make dist"
+Makefile.PL
+README
+lib/Util/Any.pm
+t/00-load.t
+t/boilerplate.t
+t/pod-coverage.t
+t/pod.t
+t/01-synopsis.t
+t/01-synopsis-with-generator.t
+t/01-unit.t
+t/01-util.t
+t/01-util-kind-list.t
+t/01-util-kind-scalar.t
+t/01-util-kind-hash.t
+t/01-util-kind-debug.t
+t/01-util-kind-my-coron.t
+t/01-util-kind-my-minus.t
+t/01-util-kind-my.t
+t/01-util-kind-my-minus.t
+t/01-util-kind-my-coron.t
+t/02-util-func-scalar.t
+t/01-util-kind-all.t
+t/01-util-kind-my-prefix.t
+t/02-util-func-scalar-prefix.t
+t/02-util-func-scalar-prefix-sign.t
+t/01-util-kind-all-prefix.t
+t/03-debug.t
+t/03-priority.t
+t/04-option.t
+t/04-option-select.t
+t/04-option-except.t
+t/05-util_any_base-prefix.t
+t/05-util_any_base.t
+t/05-smart-rename.t
+t/06-perl6-export-attrs.t
+t/06-perl6-export-attrs2.t
+t/06-perl6-export-attrs-no-args.t
+t/06-perl6-export-attrs-all.t
+t/07-perl6-export-attrs.t
+t/07-perl6-export-attrs2.t
+t/07-perl6-export-attrs-no-args.t
+t/08-exporter-simple.t
+t/08-exporter-simple2.t
+t/08-exporter-simple-no-args.t
+t/08-exporter-simple-all.t
+t/09-exporter.t
+t/09-exporter2.t
+t/09-exporter-all.t
+t/09-exporter-no-args.t
+t/10-sub-exporter-all.t
+t/10-sub-exporter.t
+t/10-sub-exporter2.t
+t/10-sub-exporter-no-args.t
+t/10-sub-exporter-like-export.t
+t/10-sub-exporter-generator.t
+t/10-sub-exporter-generator2.t
+t/11-sub-exporter-all.t
+t/11-sub-exporter-full-all.t
+t/12-sub-exporter-like-export.t
+t/12-sub-exporter-like-export-with-args.t
+t/13-inherit.t
+t/14-pluggable.t
+t/14-pluggable_lazy.t
+t/14-pluggable_no.t
+t/lib/MyUtil.pm
+t/lib/SmartRename.pm
+t/lib/MyUtilBase.pm
+t/lib/UtilPerl6ExportAttrs.pm
+t/lib/UtilPerl6ExportAttrsBase.pm
+t/lib/UtilExporter.pm
+t/lib/UtilExporterSimple.pm
+t/lib/UtilSubExporter.pm
+t/lib/UtilSubExporter2.pm
+t/lib/exampleHello.pm
+t/lib/Inherit.pm
+t/lib/InheritSub.pm
+t/lib/One.pm
+t/lib/Two.pm
+t/lib/SubExporterGenerator.pm
+t/lib/UtilPluggable.pm
+t/lib/UtilPluggable/Plugin/Pluggable.pm
+t/lib/UtilPluggable/Plugin/Pluggable2.pm
+t/lib/UtilPluggable/Plugin/Pluggable/XXX.pm
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/META.yml
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/META.yml (revision 25764)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/META.yml (revision 25764)
@@ -0,0 +1,14 @@
+name:         Util-Any
+version:      0.01
+version_from: lib/Util/Any.pm
+installdirs:  site
+requires:
+    ExportTo:                      0
+    Hash::Util:                    0
+    List::MoreUtils:               0
+    List::Util:                    0
+    Scalar::Util:                  0
+    Test::More:                    0
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.30
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/lib/Util/Any.pm
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/lib/Util/Any.pm (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/lib/Util/Any.pm (revision 35510)
@@ -0,0 +1,1254 @@
+package Util::Any;
+
+use ExportTo ();
+use Clone ();
+use Carp ();
+use List::MoreUtils ();
+use Module::Pluggable ();
+use warnings;
+use strict;
+
+our $Utils = {
+              list   => [ qw/List::Util List::MoreUtils/ ],
+              scalar => [ qw/Scalar::Util/ ],
+              hash   => [ qw/Hash::Util/ ],
+              debug  => [ ['Data::Dumper', '', ['Dumper']] ],
+              string => [ qw/String::Util String::CamelCase/ ],
+             };
+
+# I'll delete no dash group in the above, in future.
+$Utils->{'-' . $_} = $Utils->{$_} foreach keys %$Utils;
+
+our $SubExporterImport = 'do_import';
+
+sub import {
+  my ($pkg, $caller) = (shift, (caller)[0]);
+  return $pkg->_base_import($caller, @_) if @_ and $_[0] =~/^-[A-Z]\w+$/o;
+
+  my %opt;
+  if (@_ > 1 and ref $_[-1] eq 'HASH') {
+    @opt{qw/prefix module_prefix debug smart_rename plugin/}
+      = (delete @{$_[-1]}{qw/prefix module_prefix debug smart_rename plugin/});
+    pop @_ unless %{$_[-1]};
+  }
+  $opt{$_} ||= 0 foreach qw/prefix module_prefix debug smart_rename/;
+  if (not defined $opt{plugin}) {
+    $opt{plugin} = 'lazy';
+  } elsif ($opt{plugin} and $opt{plugin} ne 'eager') {
+    Carp::croak "wrong option is passed for plugin: " . $opt{plugin};
+  }
+
+  @_ = %{$_[0]} if @_ == 1 and ref $_[0] eq 'HASH';
+
+  my $config = Clone::clone(do { no strict 'refs'; ${$pkg . '::Utils'} });
+  if ($pkg->can('_plugins')) {
+    if ($opt{plugin} eq 'eager') {
+      foreach my $plugin ($pkg->plugins) {
+        eval "require $plugin";
+        my $util = $plugin->utils;
+        foreach my $kind (keys %$util) {
+          push @{$config->{$kind} ||= []}, @{$util->{$kind}};
+        }
+      }
+    }
+  }
+  my ($arg, $want_kind) = $pkg->_arrange_args(\@_, $config, $caller, \%opt);
+  foreach my $kind (keys %$want_kind) {
+    # Carp::croak "$pkg doesn't have such kind of functions : $kind"
+    # unless exists $config->{$kind};
+    $pkg->_kind_exporter($caller, $config->{$kind}, (lc(join "", $kind =~m{(\w+)}go)), $want_kind->{$kind}, \%opt);
+  }
+}
+
+sub _kind_exporter {
+  my ($pkg, $caller, $kind_config, $kind_word, $import_setting, $opt) = @_;
+  my ($wanted_funcs, $local_definition, $kind_prefix, $kind_args) = $pkg->_func_definitions($import_setting);
+  my ($prefix, %exported, %class_func);
+
+  foreach my $class_config (@$kind_config) { # $class_config is class name or array ref
+    my ($class, $module_prefix, $config_options) = ref $class_config ? @$class_config : ($class_config, '', '');
+
+    my $evalerror = '';
+    if ($evalerror = do { local $@; eval {my $path = $class; $path =~s{::}{/}go; require $path. ".pm"; $evalerror = $@ }; $@}) {
+      # if ($evalerror = do { local $@; eval "require $class";  $evalerror = $@ }) {
+      $opt->{debug} == 2 ? Carp::croak $evalerror : Carp::carp $evalerror;
+    }
+
+    $prefix = $kind_prefix                       ? $kind_prefix                           :
+      ($opt->{module_prefix} and $module_prefix) ? $module_prefix                         :
+      $opt->{prefix}                             ? lc($kind_word) . '_'                   :
+      $opt->{smart_rename}                       ? $pkg->_create_smart_rename($kind_word) : '';
+
+    my (@funcs, %rename);
+    if (ref $config_options eq 'HASH') {
+      # -kind => {'first' => 'list_first', # first as list_first
+      #           'min'   => \&build_min_reformatter,
+      #           -select => ['first', 'sum', 'shuffle'] }
+
+      if (exists $config_options->{-select}) {
+        Carp::croak "cannot use -except & -select in same time." if exists $config_options->{-except};
+        @funcs = @{$config_options->{-select}}
+      } elsif (exists $config_options->{-except}) {
+        my %except;
+        @except{@{$config_options->{-except}}} = ();
+        @funcs = grep !exists $except{$_}, @{_all_funcs_in_class($class)};
+      } elsif (not @funcs) {
+        @funcs = @{_all_funcs_in_class($class)};
+      }
+      foreach my $function (@$wanted_funcs ? (grep {defined $config_options->{$_}} @$wanted_funcs) : grep !/^-/, keys %$config_options) {
+        if (ref(my $gen = $config_options->{$function}) eq 'CODE') {
+          # Like Sub::Exporter generator
+          if (exists $local_definition->{$function}) {
+            foreach my $def (@{$local_definition->{$function}}) {
+              my %arg;
+              $arg{$_} = $def->{$_}  for grep !/^-/, keys %$def;
+              ExportTo::export_to($caller => {($def->{-as} || $function)
+                                              => $gen->($pkg, $class, $function, \%arg, $kind_args)});
+            }
+          } else {
+            ExportTo::export_to($caller => {$prefix . $function => $gen->($pkg, $class, $function, {}, $kind_args)});
+          }
+          $exported{$function} = undef;
+        } elsif (defined &{$class . '::' . $function}) {
+          push @funcs , $function;
+          $rename{$function} = $config_options->{$function};
+        }
+      }
+    } else {
+      @funcs = ref $config_options eq 'ARRAY' ? @$config_options : @{_all_funcs_in_class($class)};
+    }
+    $class_func{$class} = [\@funcs, \%rename];
+  }
+  my %want_funcs;
+  @want_funcs{@$wanted_funcs} = ();
+  foreach my $class (keys %class_func) {
+    _do_export($caller, $class, $class_func{$class}->[0], \%want_funcs, \%exported,
+               $local_definition, $class_func{$class}->[1], $prefix, $kind_prefix);
+  }
+}
+
+sub _do_export {
+  my ($caller, $class, $funcs, $want_funcs, $exported, $local_definition, $rename, $prefix, $kind_prefix) = @_;
+  my %reverse_rename = reverse %$rename;
+  if (%$local_definition) {
+    foreach my $func (keys %$local_definition) {
+      next if exists $exported->{$func};
+      next if %$want_funcs and not exists $want_funcs->{$func};
+
+      foreach my $def (@{$local_definition->{$func}}) {
+        if (ref $def eq 'HASH') {
+          my $local_rename = $def->{-as} || '';
+          my $original_func = $reverse_rename{$func} || $func;
+          if (do { no strict 'refs'; defined &{$class . '::' . $original_func} }) {
+            my $function_name =
+              ($local_rename ? $local_rename                                                :
+               $prefix       ? (ref $prefix eq 'CODE' ? $prefix->($func) : $prefix . $func) : $func);
+            ExportTo::export_to($caller => { $function_name => $class . '::' . $original_func });
+          }
+        } else {
+          Carp::croak("setting for fucntions must be hash ref for : $func => "
+                      . (ref $def eq 'ARRAY' ? "[". join(", ",@$def) ."]" : $def));
+        }
+      }
+    }
+  } elsif (@$funcs) {
+    no strict 'refs';
+    @$funcs = grep defined &{$class . '::'. $_}, @$funcs;
+    return unless @$funcs;
+  }
+
+  my @export_funcs = grep !exists $local_definition->{$_}, @$funcs;
+  @export_funcs = grep exists $want_funcs->{$_}, @export_funcs if %$want_funcs;
+  if ($prefix or %$rename) {
+    if (ref $prefix eq 'CODE') {
+      ExportTo::export_to($caller => {map { $prefix->($_) => $class . '::' . $_} @export_funcs});
+    } else {
+      ExportTo::export_to($caller => {map { $prefix . ($rename->{$_} || $_) => $class . '::' . $_} @export_funcs});
+    }
+  } else {
+    ExportTo::export_to($caller => [map $class . '::' . $_, List::MoreUtils::uniq @export_funcs]);
+  }
+}
+
+sub _create_smart_rename {
+  my ($pkg, $kind) = @_;
+  return sub {
+    my $str = shift;
+    my $prefix = '';
+    if ($str =~s{^(is_|has_|enable_|disable_|isnt_|have_|set_)}{}) {
+      $prefix = $1;
+    }
+    if ($str !~ m{^$kind} and $str !~ m{$kind$}) {
+      return $prefix . $kind . '_' . $str;
+    } else {
+      return $prefix . $str;
+    }
+  };
+}
+
+{
+  my %tmp;
+  sub _all_funcs_in_class {
+    my ($class) = @_;
+    return $tmp{$class} if exists $tmp{$class};
+    my %f;
+    {
+      no strict 'refs';
+      @f{@{$class . '::EXPORT_OK'}, @{$class . '::EXPORT'}} = ();
+    }
+    return $tmp{$class} = [grep defined &{$class . '::' . $_}, keys %f];
+  }
+}
+
+sub _arrange_args {
+  my ($pkg, $org_args, $config, $caller, $opt) = @_;
+  my (@arg, %want_kind);
+  my $import_module = $pkg->_use_import_module;
+  my $all_improt = 0;
+  if (@$org_args) {
+    @$org_args = %{$org_args->[0]} if ref $org_args->[0] eq 'HASH';
+    if (lc($org_args->[0]) =~ /^([:-])?all/) {
+      my $all_import = shift @$org_args;
+      my $inherit_all = $1;
+      $pkg->_lazy_load_plugins_all($config) if $opt->{'plugin'} eq 'lazy' and $pkg->can('_plugins');
+      # import all functions which Util::Any proxy
+      @want_kind{keys %$config} = ();
+      if ($inherit_all and $import_module) {
+        if ($import_module eq 'Exporter' or $import_module eq 'Exporter::Simple') {
+          no strict 'refs'; no warnings;
+          push @arg, ':all' if ${$pkg . '::EXPORT_TAGS'}{"all"};
+
+        } elsif ($import_module eq 'Sub::Exporter') {
+          push @arg, '-all';
+        } elsif ($import_module eq 'Perl6::Export::Attrs') {
+          push @arg, ':ALL';
+        }
+      }
+    } elsif ($opt->{'plugin'} eq 'lazy' and $pkg->can('_plugins')) {
+      $pkg->_lazy_load_plugins($config, $org_args);
+    }
+    if (List::MoreUtils::any {ref $_} @$org_args) {
+      for (my $i = 0; $i < @$org_args; $i++) {
+        my $kind = $org_args->[$i];
+        my $import_setting = $org_args->[$i + 1] ? $org_args->[++$i] : undef;
+        _insert_want_arg($config, $kind, $import_setting, \%want_kind, \@arg);
+      }
+    } else {
+      # export specified kinds
+      foreach my $kind (@$org_args) {
+        _insert_want_arg($config, $kind, undef, \%want_kind, \@arg);
+      }
+    }
+  }
+  if ($import_module) {
+    $pkg->_do_base_import($import_module, $caller, \@arg) if @arg or !@$org_args;
+  } else {
+    Carp::carp("unknown arguments: @arg") if @arg;
+  }
+  return \@arg, \%want_kind;
+}
+
+sub _insert_want_arg {
+  # distinct arguments to want(for Util::Any) and args(for other).
+  my ($config, $kind, $import_setting, $want_kind, $arg) = @_;
+  $kind = lc $kind;
+  if (exists $config->{$kind}) {
+    $want_kind->{$kind} = $import_setting;
+  } else {
+    push @$arg, $kind, defined $import_setting ? $import_setting : ();
+  }
+}
+
+sub _lazy_load_plugins_all {
+  my ($pkg, $config) = @_;
+  foreach my $plugin (@{$pkg->_plugins}) {
+    eval "require $plugin";
+    next if $@;
+    my $util = $plugin->utils;
+    foreach my $kind (keys %$util) {
+      push @{$config->{$kind} ||= []}, @{$util->{$kind}};
+    }
+  }
+}
+
+sub _lazy_load_plugins {
+  my ($pkg, $config, $org_args) = @_;
+  my (@all, @kinds);
+  for my $i (0 .. $#{$org_args}) {
+    next if ref $org_args->[$i];
+    my $k = $org_args->[$i];
+    $k =~ s{\W}{}g;
+    $k =~ s{_}{::}g;
+    $k =~ s{^(.+)(::all)$}{$1|${1}::\\w+} and push @all, $i;
+    push @kinds, $k;
+  }
+  return unless @kinds;
+
+  my $regex = "^${pkg}::Plugin::(?:". join("|", @kinds) . ')';
+  my $all_regex = '';
+  if (@all) {
+    $org_args->[$_] =~s{_all$}{} for @all;
+    $all_regex = "^${pkg}::Plugin::(?:".join("|", map {m{(\w+)}} @{$org_args}[@all]). ')';
+  }
+  foreach my $plugin (@{$pkg->_plugins}) {
+    if ($plugin =~m{$regex\W}i or $plugin =~m{$regex$}i) {
+      eval "require $plugin";
+      next if $@;
+      my $util = $plugin->utils;
+      foreach my $kind (keys %$util) {
+        push @{$config->{$kind} ||= []}, @{$util->{$kind}};
+        if ($all_regex and ($plugin =~ m{$all_regex\W}i or $plugin =~ m{$all_regex$}i)) {
+          push @$org_args, $kind;
+        }
+      }
+    }
+  }
+}
+
+sub _func_definitions {
+  my ($pkg, $want_func_definition) = @_;
+  my ($kind_prefix, $kind_args, @wanted_funcs, %funcs, %local_definition);
+  if (ref $want_func_definition eq 'HASH') {
+    # list => {func => {-as => 'rename'}};  list => {-prefix => 'hoge_' }
+    $kind_prefix = $want_func_definition->{-prefix}
+      if exists $want_func_definition->{-prefix};
+    $kind_args = $want_func_definition->{-args}
+      if exists $want_func_definition->{-args};
+    foreach my $f (grep !/^-/, keys %$want_func_definition) {
+      $local_definition{$f} = [$want_func_definition->{$f}];
+    }
+  } elsif (ref $want_func_definition eq 'ARRAY') {
+    foreach (my $i = 0; $i < @$want_func_definition; $i++) {
+      my ($k, $v) = @{$want_func_definition}[$i, $i + 1];
+      if ($k eq '-prefix') {
+        $kind_prefix = $v;
+        $i++;
+      } elsif ($k eq '-args') {
+        $kind_args = $v;
+        $i++;
+      }elsif (ref $v) {
+        $i++;
+        push @wanted_funcs, $k;
+        push @{$local_definition{$k} ||= []}, $v;
+      } else {
+        push @wanted_funcs, $k;
+      }
+    }
+    @wanted_funcs = List::MoreUtils::uniq @wanted_funcs;
+  }
+  return \@wanted_funcs, \%local_definition, $kind_prefix || '', $kind_args || {};
+}
+
+sub _do_base_import {
+  # working with other modules like Expoter
+  my ($pkg, $import_module, $caller, $arg) = @_;
+  my $pkg_utils;
+  {
+    no strict 'refs';
+    no warnings;
+    $pkg_utils = ${$pkg . '::Utils'};
+  }
+  if ($import_module eq 'Perl6::Export::Attrs') {
+    eval "package $caller; $pkg" . '->Perl6::Export::Attrs::_generic_import(@$arg);';
+  } elsif ($import_module eq 'Exporter::Simple') {
+    eval "package $caller; $pkg" . '->Exporter::Simple::import(@$arg);';
+  } elsif ($import_module eq 'Exporter') {
+    eval "package $caller; $pkg" . '->Exporter::import(@$arg);';
+  } elsif ($import_module eq 'Sub::Exporter') {
+    no strict 'refs';
+    no warnings;
+    my $import_name =  ${"${pkg}::SubExporterImport"} || $Util::Any::SubExporterImport;
+    eval "package $caller; $pkg" . '->$import_name(@$arg);';
+  }
+  die $@ if $@;
+}
+
+sub _base_import {
+  my ($pkg, $caller, @flgs) = @_;
+  {
+    no strict 'refs';
+    push @{"${caller}::ISA"}, __PACKAGE__;
+  }
+  my @unknown;
+  return unless @flgs;
+  while (my $flg = lc shift @flgs) {
+    no strict 'refs';
+    if ($flg eq '-perl6exportattrs') {
+      eval {require Perl6::Export::Attrs };
+      *{$caller . '::MODIFY_CODE_ATTRIBUTES'} = \&Perl6::Export::Attrs::_generic_MCA;
+      *{$caller . '::_use_import_module'} = sub { 'Perl6::Export::Attrs' };
+    } elsif ($flg eq '-subexporter') {
+      eval { require Sub::Exporter };
+      *{$caller . '::_use_import_module'} = sub { 'Sub::Exporter' };
+    } elsif ($flg eq '-exportersimple') {
+      eval { require Exporter::Simple };
+      *{$caller . '::_use_import_module'} = sub { 'Exporter::Simple' };
+    } elsif ($flg eq '-exporter') {
+     require Exporter;
+      push @{"${caller}::ISA"}, 'Exporter';
+      *{$caller . '::_use_import_module'} = sub { 'Exporter' };
+    } elsif ($flg eq '-base') {
+      # nothing to do
+    } elsif ($flg eq '-pluggable') {
+      # pluggable
+      Module::Pluggable->import(require => 0, search_path => [$caller . '::Plugin'], inner => 0);
+      my @plugins = $pkg->plugins;
+      *{$caller . '::_plugins'} = sub { \@plugins };
+    } else {
+      push @unknown, $flg;
+    }
+  }
+  Carp::croak "cannot understand the option: @unknown" if @unknown;
+}
+
+sub _use_import_module { 0 }
+
+=head1 NAME
+
+Util::Any - to export any utilities and to create your own utilitiy module
+
+=cut
+
+our $VERSION = '0.17';
+
+=head1 SYNOPSIS
+
+    use Util::Any -list;
+    # you can import any functions of List::Util and List::MoreUtils
+    
+    print uniq qw/1, 0, 1, 2, 3, 3/;
+
+If you want to choose functions
+
+    use Util::Any -list => ['uniq'];
+    # you can import uniq function only, not import other functions
+    
+    print uniq qw/1, 0, 1, 2, 3, 3/;
+
+If you want to import All kind of utility functions
+
+    use Util::Any -all;
+    
+    my $o = bless {};
+    my %hash = (a => 1, b => 2);
+    
+    # from Scalar::Util
+    blessed $o;
+    
+    # from Hash::Util
+    lock_keys %hash;
+
+If you want to import functions with prefix(ex. list_, scalar_, hash_)
+
+    use Util::Any -all, {prefix => 1};
+    use Util::Any -list, {prefix => 1};
+    use Util::Any -list => ['uniq', 'min'], {prefix => 1};
+    
+    print list_uniq qw/1, 0, 1, 2, 3, 3/;
+   
+
+If you want to import functions with your own prefix.
+
+   use Util::Any -list => {-prefix => "l_"};
+   print l_uniq qw/1, 0, 1, 2, 3, 3/;
+
+If you want to import functions as different name.
+
+   use Util::Any -list => {uniq => {-as => 'listuniq'}};
+   print listuniq qw/1, 0, 1, 2, 3, 3/;
+
+When you use both renaming and your own prefix ?
+
+   use Util::Any -list => {uniq => {-as => 'listuniq'}, -prefix => "l_"};
+   print listuniq qw/1, 0, 1, 2, 3, 3/;
+   print l_min qw/1, 0, 1, 2, 3, 3/;
+   # the following is NG
+   print l_uniq qw/1, 0, 1, 2, 3, 3/;
+
+=head1 DESCRIPTION
+
+For the people like the man who cannot remember C<uniq> function is in whether List::Util or List::MoreUtils.
+And for the newbie who don't know where useful utilities is.
+
+Perl has many modules and they have many utility functions.
+For example, List::Util, List::MoreUtils, Scalar::Util, Hash::Util,
+String::Util, String::CamelCase, Data::Dumper etc.
+
+We, Perl users, have to memorize modules name and their functions name.
+Using this module, you don't need to memorize modules name,
+only memorize kinds of modules and functions name.
+
+And this module allows you to create your own utility module, easily.
+You can create your own module and use this in the same way as Util::Any like the following.
+
+ use YourUtil -list;
+
+see C<CREATE YOUR OWN Util::Any>, in detail.
+
+=head1 HOW TO USE
+
+=head2 use Util::Any (KIND)
+
+ use Util::Any -list, -hash;
+
+Give list of kinds of modules. All functions in modules are exporeted.
+
+=head2  use Util::Any KIND => [FUNCTIONS], ...;
+
+NOTE THAT kind '-all', 'all' or ':all' cannot take this option.
+
+ use Util::Any -list => ['uniq'], -hash => ['lock_keys'];
+
+Give hash whose key is kind and value is function names as array ref.
+Selected functions are exported.
+
+you can write it as hash ref.
+
+ use Util::Any {-list => ['uniq'], -hash => ['lock_keys']};
+
+=head2  use Util::Any ..., {OPTION => VALUE};
+
+Util::Any can take last argument as option, which should be hash ref.
+
+=over 4
+
+=item prefix => 1
+
+add kind prefix to function name.
+
+ use Util::Any -list, {prefix => 1};
+ 
+ list_uniq(1,2,3,4,5); # it is List::More::Utils's uniq function
+
+=item module_prefix => 1
+
+see L<PREFIX FOR EACH MODULE>.
+Uti::Any itself doesn't have such a definition.
+
+=item smart_rename => 1
+
+see L<SMART RENAME FOR EACH KIND>.
+
+=item plugin => 'lazy' / 'eager' / 0 (default is 'lazy')
+
+If utility module based on Util::Any has plugin,
+Its plugins are loaded when related kind is specified(if kind name matches module name).
+If you want to load all plugin on using module, give 'eager' to this option.
+If you don't want to use plugin, set 0.
+
+ use Util::Yours -kind, .... {plugin => 'eager'}; # all plugins are loaded
+ use Util::Yours -kind, .... {plugin => 0};       # disable plugin feature.
+ use Util::Yours -kind;                           # is equal {plugin => 'lazy'}
+
+Relation of kind name and plugin name is the following.
+
+for example, If you have the following modules.
+
+ Util::Yours::Plugin::Date
+ Util::Yours::Plugin::DateTime
+ Util::Yours::Plugin::Net
+ Util::Yours::Plugin::Net::Amazon
+ Util::Yours::Plugin::Net::Twitter
+
+the following code:
+
+ use Util::Yours -date; # Plugin::Date is loaded
+ use Util::Yours -datetime; # Plugin::DateTime is loaded
+ use Util::Yours -net; # Plugin::Net is loaded
+ use Util::Yours -net_amazon; # Plugin::Net::Amazon is loaded
+ use Util::Yours -net_all; # Plugin::Net and Plugin::Net::* is loaded
+
+C<_all> is special keyword. see "NOTE ABOUT all KEYWORD".
+
+=item debug => 1/2
+
+Util::Any doesn't say anything when loading module fails.
+If you pass debug value, warn or die.
+
+ use Util::Any -list, {debug => 1}; # warn
+ use Util::Any -list, {debug => 2}; # die
+
+=back
+
+=head1 EXPORT
+
+Kinds of functions and list of exported functions are below.
+Note that these modules and version are on my environment(Perl 5.8.4).
+So, it must be diffrent on your environment.
+
+=head2 scalar
+
+from Scalar::Util (1.19)
+
+ blessed
+ dualvar
+ isvstring
+ isweak
+ looks_like_number
+ openhandle
+ readonly
+ refaddr
+ reftype
+ set_prototype
+ tainted
+ weaken
+
+=head2 hash
+
+from Hash::Util (0.05)
+
+ hash_seed
+ lock_hash
+ lock_keys
+ lock_value
+ unlock_hash
+ unlock_keys
+ unlock_value
+
+=head2 list
+
+from List::Util (1.19)
+
+ first
+ max
+ maxstr
+ min
+ minstr
+ reduce
+ shuffle
+ sum
+
+from List::MoreUtils (0.21)
+
+ after
+ after_incl
+ all
+ any
+ apply
+ before
+ before_incl
+ each_array
+ each_arrayref
+ false
+ first_index
+ first_value
+ firstidx
+ firstval
+ indexes
+ insert_after
+ insert_after_string
+ last_index
+ last_value
+ lastidx
+ lastval
+ mesh
+ minmax
+ natatime
+ none
+ notall
+ pairwise
+ part
+ true
+ uniq
+ zip
+
+=head2 string
+
+from String::Util (0.11)
+
+ crunch
+ define
+ equndef
+ fullchomp
+ hascontent
+ htmlesc
+ neundef
+ nospace
+ randcrypt
+ randword
+ trim
+ unquote
+
+from String::CamelCase (0.01)
+
+ camelize
+ decamelize
+ wordsplit
+
+=head2 debug
+
+from Data::Dumper (2.121)
+
+ Dumper
+
+=head1 EXPORTING LIKE Sub::Exporter
+
+Like Sub::Exporter, Util::Any can export function name as you like.
+
+ use Util::Yours -list => {-prefix => 'list__', miin => {-as => "lmin"}};
+
+functions in -list, are exported with prefix "list__" except 'min' and 'min' is exported as 'lmin'.
+
+=head1 PRIORITY OF THE WAYS TO CHANGE FUNCTION NAME
+
+There are some ways to chnage function name.
+Their priority is the following.
+
+=over 4
+
+=item 1 rename
+
+ -list => {uniq => {-as => 'luniq'}}
+
+=item 2 kind_prefix
+
+ -list => {-prefix => list}
+
+=item 3 module_prefix
+
+Only if module's prefix is defined
+
+ ..., {module_prefix => 1}
+
+=item 4 prefix
+
+ ..., {prefix => 1}
+
+=item 5 smart_rename
+
+ ..., {smart_rename => 1}
+
+=back
+
+I don't recommend to use 3, 4, 5 in same time, because it may confuse you.
+
+=over 4
+
+=item 3 + 4
+
+if module's prefix is defined in class(not defined in Util::Any), use 3, or use 4.
+
+=item 3 + 5
+
+3 or 5. reason is as same as the above.
+
+=item 3 + 4 + 5
+
+5 is ignored.
+
+=item 4 + 5
+
+5 is ignored.
+
+=back
+
+=head1 NOTE ABOUT all KEYWORD
+
+B<all> is special keyword, so it has some restriction.
+
+=head2 use module with 'all' cannot take any sequential arugments
+
+ use Util::Any -all; # or 'all', ':all'
+
+This cannot take sequential arguments. For example;
+
+ NG: use Util::Any -all => ['shuffle'];
+
+=head2 -plugin_module_all cannot take any sequential arguments
+
+ use Util::Yours -plugin_name_all;
+
+This cannot take sequential arguments. For example:
+
+ NG: use Util::Yours -plugin_name_all => ['some_function'];
+
+=head1 CREATE YOUR OWN Util::Any
+
+Just inherit Util::Any and define $Utils hash ref as the following.
+
+ package Util::Yours;
+ 
+ use Clone qw/clone/;
+ use Util::Any -Base; # as same as use base qw/Util::Any/;
+ # If you don't want to inherit Util::Any setting, no need to clone.
+ our $Utils = clone $Util::Any::Utils;
+ push @{$Utils->{-list}}, qw/Your::Favorite::List::Utils/;
+ 
+ 1;
+
+In your code;
+
+ use Util::Yours -list;
+
+=head2 $Utils STRUCTURE
+
+=head3 overview
+
+ $Utils => {
+    # simply put module names
+    -kind1 => [qw/Module1 Module2 ..../],
+    -# Module name and its prefix
+    -kind2 => [ [Module1 => 'module_prefix'], ... ],
+    # limit functions to be exported
+    -kind3 => [ [Module1, 'module_prefix', [qw/func1 func2/] ], ... ],
+    # as same as above except not specify modul prefix
+    -kind4 => [ [Module1, '', [qw/func1 func2/] ], ... ],
+ };
+
+=head3 Key must be lower character.
+
+ NG $Utils = { LIST => [qw/List::Util/]};
+ OK $Utils = { list => [qw/List::Util/]};
+ OK $Utils = { -list => [qw/List::Util/]};
+ OK $Utils = { ':list' => [qw/List::Util/]};
+
+=head3 C<all> cannot be used for key.
+
+ NG $Utils = { all    => [qw/List::Util/]};
+ NG $Utils = { -all   => [qw/List::Util/]};
+ NG $Utils = { ':all' => [qw/List::Util/]};
+
+=head3 Value is array ref which contained scalar or array ref.
+
+Scalar is module name. Array ref is module name and its prefix.
+
+ $Utils = { list => ['List::Utils'] };
+ $Utils = { list => [['List::Utils', 'prefix_']] };
+
+see L<PREFIX FOR EACH MODULE>
+
+=head2 PREFIX FOR EACH MODULE
+
+If you want to import many modules and they have same function name.
+You can specify prefix for each module like the following.
+
+ use base qw/Util::Any/;
+ 
+ our $Utils = {
+      list => [['List::Util' => 'lu_'], ['List::MoreUtils' => 'lmu_']]
+ };
+
+In your code;
+
+ use Util::Yours qw/list/, {module_prefix => 1};
+
+=head2 SMART RENAME FOR EACH KIND
+
+smart_rename option rename function name by a little smart way.
+For example,
+
+ our $Utils = {
+   utf8 => [['utf8', '',
+             {
+              is_utf8   => 'is_utf8',
+              upgrade   => 'utf8_upgrade',
+              downgrade => 'downgrade',
+             }
+            ]],
+ };
+
+In this definition, use C<prefix => 1> is not good idea. If you use it:
+
+ is_utf8      => utf8_is_utf8
+ utf8_upgrade => utf8_utf8_upgrade
+ downgrade    => utf8_downgrade
+
+That's too bad. If you use C<smart_rename => 1> instead:
+
+ is_utf8      => is_utf8
+ utf8_upgrade => utf8_upgrade
+ downgrade    => utf8_downgrade
+
+rename rule is represented in _create_smart_rename in Util::Any.
+
+=head2 CHANGE smart_rename BEHAVIOUR
+
+To define _create_smart_rename, you can change smart_rename behaviour.
+_create_smart_rename get 2 argument, package name and kind of utilitiy,
+and should return code reference which get function name and return new name.
+As an example, see Util::Any's _create_smart_rename.
+
+=head2 OTHER WAY TO EXPORT FUNCTIONS
+
+=head3 SELECT FUNCTIONS
+
+Util::Any automatically export functions from modules' @EXPORT and @EXPORT_OK.
+In some cases, it is not good idea like Data::Dumper's Dumper and DumperX.
+These 2 functions are same feature.
+
+So you can limit functions to be exported.
+
+ our $Utils = {
+      -debug => [
+                ['Data::Dumper', '',
+                ['Dumper']], # only Dumper method is exported.
+               ],
+ };
+
+or
+
+ our $Utils = {
+      -debug => [
+                ['Data::Dumper', '',
+                 { -select => ['Dumper'] }, # only Dumper method is exported.
+                ]
+               ],
+ };
+
+
+=head3 SELECT FUNCTIONS EXCEPT
+
+Inverse of -select option. Cannot use this option with -select.
+
+ our $Utils = {
+      -debug => [
+                ['Data::Dumper', '',
+                 { -except => ['DumperX'] }, # export functions except DumperX
+                ]
+               ],
+ };
+
+=head3 RENAME FUNCTIONS
+
+To rename function name, write original function name as hash key and renamed name as hash value.
+this definition is prior to -select/-except.
+
+In the following example, 'min' is not in -select list, but can be exported.
+
+ our $Utils = {
+      -list  => [[
+                  'List::Util', '',
+                  {
+                   'first' => 'list_first', # first as list_first
+                   'sum'   => 'lsum',       # sum   as lsum
+                   'min'   => 'lmin',       # min   as lmin
+                   -select => ['first', 'sum', 'shuffle'],
+                  }
+               ]]
+  };
+
+=head3 USE Sub::Exporter's GENERATOR WAY
+
+It's somewhat complicate, I just show you code.
+
+Your utility class:
+
+  package SubExporterGenerator;
+  
+  use strict;
+  use Util::Any -Base;
+  
+  our $Utils =
+    {
+     -test => [[
+               'List::Util', '',
+               { min => \&build_min_reformatter,}
+              ]]
+    };
+  
+  sub build_min_reformatter {
+    my ($pkg, $class, $name, @option) = @_;
+    no strict 'refs';
+    my $code = do { no strict 'refs'; \&{$class . '::' . $name}};
+    sub {
+      my @args = @_;
+      $code->(@args, $option[0]->{under} || ());
+    }
+  }
+
+Your script using your utility class:
+
+ package main;
+ 
+ use strict;
+ use lib qw(lib t/lib);
+ use SubExporterGenerator -test => [
+       min => {-as => "min_under_20", under => 20},
+       min => {-as => "min_under_5" , under => 5},
+     ];
+ 
+ print min_under_20(100,25,30); # 20
+ print min_under_20(100,10,30); # 10
+ print min_under_20(100,25,30); # 5
+ print min_under_20(100,1,30);  # 1
+
+If you don't specify C<-as>, exporeted function as C<min>.
+But, of course, the following doesn't work.
+
+ use SubExporterGenerator -test => [
+       min => {under => 20},
+       min => {under => 5},
+     ];
+
+Util::Any try to export duplicate function C<min>, one of both should fail.
+
+=head4 GIVE DEFAULT ARGUMENTS TO CODE GENERATOR
+
+You may want to give default arguments to all code generators in same kind.
+For example, if you create shortcut to use Number::Format,
+you may want to give common arguments with creating instance.
+
+ -number => [
+    [ 'Number::Format' => {
+        'round' => sub {
+            my($pkg, $class, $func, $args, $default_args) = @_;
+            my $n = 'Number::Format'->new(%$default_args);
+            sub { $n->round(@_); }
+        },
+        'number_format' => sub {
+            my($pkg, $class, $func, $args, $default_args) = @_;
+            my $n = 'Number::Format'->new(%$default_args, %$args);
+            sub { $n->format_number(@_); }
+        }
+      }
+    ];
+
+And write as the following:
+
+ use Util::Yours -number => [-args => {thousands_sep => "_", int_curr_symbol => '\'} ];
+ 
+ print number_format(100000); # 100_000
+ print number_price(100000);  # \100_000
+
+thousands_sep and int_curr_symbol are given to all of -number kind of function.
+
+=head2 USE PLUGGABLE FEATURE FOR YOUR MODULE
+
+Just add a flag -Pluggbale.
+
+ package Util::Yours;
+ use Util::Any -Base, -Pluggable;
+
+And write plugin as the following:
+
+  package Util::Yours::Plugin::Net;
+  
+  sub utils {
+    # This structure is as same as $Utils.
+    return {
+        # kind name and plugin name should be same.
+        -net => [
+                  [
+                   'Net::Amazon', '',
+                   {
+                    amazon => sub {
+                      my ($pkg, $class, $func, $args) = @_;
+                      my $amazon = Net::Amazon->new(token => $args->{token});
+                      sub { $amazon }
+                    },
+                   }
+                  ]
+                ]
+       };
+  }
+  
+  1;
+
+And you can use it as the following.
+
+  use Util::Yours -net => [amazon => {token => "your_token"}];
+  
+  my $amazon = amazon; # get Net::Amazon object;
+
+Util::Any can merge definition in plugins. If same kind is in several plugins, it works.
+But same kind and same function name is defined, one of them doesn't work.
+
+=head2 WORKING WITH EXPORTER-LIKE MODULES
+
+NOTE THAT: I don't recommend this usage, because using this may confuse user;
+some of import options are for Util::Any and others are for exporter-like module
+(especially, ussing with Sub::Exporter is confusing).
+
+CPAN has some modules to export functions.
+Util::Any can work with some of such modules, L<Exporter>, L<Exporter::Simple>, L<Sub::Exporter> and L<Perl6::Export::Attrs>.
+If you want to use other modules, please inform me or implement import method by yourself.
+
+If you want to use module mentioned above, you have to change the way to inherit these modules.
+
+=head3 DIFFERENCE between 'all' and '-all' or ':all'
+
+If your utility module which inherited Util::Any has utility functions and export them by Exporter-like module,
+behaviour of 'all' and '-all' or ':all' is a bit different.
+
+ 'all' ... export all utilities defined in your package's $Utils variables.
+ '-all' or ':all' ... export all utilities including functions in your util module itself.
+
+=head3 ALTERNATIVE INHERITING
+
+Normally, you use;
+
+ package YourUtils;
+ 
+ use Util::Any -Base; # or "use base qw/Util::Any/;"
+
+But, if you want to use L<Exporter>, L<Exporter::Simple> or L<Perl6::Export::Attrs>.
+write as the following, instead.
+
+ # if you want to use Exporter
+ use Util::Any -Exporter;
+ # if you want to use Exporter::Simple
+ use Util::Any -ExporterSimple;
+ # if you want to use Sub::Exporter
+ use Util::Any -SubExporter;
+ # if you want to use Perl6::Export::Attrs
+ use Util::Any -Perl6ExportAttrs;
+
+That's all.
+Note that B<don't use base the above modules in your utility module>.
+
+There is one notice to use Sub::Exporter.
+
+ Sub::Exporter::setup_exporter
+       ({
+           as => 'do_import', # name is important
+           exports => [...],
+           groups  => { ... },
+       });
+
+You must pass "as" option to setup_exporter and its value must be "do_import".
+If you want to change this name, do the following.
+
+ Sub::Exporter::setup_exporter
+       ({
+           as => $YourUtils::SubExporterImport = '__do_import',
+           exports => [...],
+           groups  => { ... },
+       });
+
+=head3 EXAMPLE to USE Perl6::Export::Attrs in YOUR OWN UTIL MODULE
+
+Perl6::Export::Attributes is not recommended in the following URL
+(http://www.perlfoundation.org/perl5/index.cgi?pbp_module_recommendation_commentary).
+So, you'd better use other exporter module. It is left as an example.
+
+ package Util::Yours;
+ 
+ use Clone qw/clone/;
+ use Util::Any -Perl6ExportAttrs;
+ our $Utils = clone $Util::Any::Utils;
+ push @{$Utils->{list}}, qw/Your::Favorite::List::Utils/;
+ 
+ sub foo :Export(:DEFAULT) {
+   return "foo!";
+ }
+ 
+ sub bar :Export(:bar) {
+   return "bar!";
+ }
+ 
+ 1;
+
+=head2 IMPLEMENT IMPORT by YOURSELF
+
+Perl6::Export::Attributes is not recommended in the following URL
+(http://www.perlfoundation.org/perl5/index.cgi?pbp_module_recommendation_commentary).
+So, you'd better use other exporter module. It is left as an example.
+
+You can write your own import method and BEGIN block like the following.
+Instead of using "use Util::Any -Perl6ExportAttrs".
+
+ package UtilPerl6ExportAttr;
+ 
+ use strict;
+ use base qw/Util::Any/;
+ use Clone qw/clone/;
+ 
+ BEGIN {
+   use Perl6::Export::Attrs ();
+   no strict 'refs';
+   *{__PACKAGE__ . '::MODIFY_CODE_ATTRIBUTES'} = \&Perl6::Export::Attrs::_generic_MCA;
+ }
+ 
+ our $Utils = clone $Util::Any::Utils;
+ $Utils->{your_list} = [
+                  ['List::Util', '', [qw(first min sum)]],
+                 ];
+ 
+ sub import {
+   my $pkg = shift;
+   my $caller = (caller)[0];
+ 
+   no strict 'refs';
+   eval "package $caller; $pkg" . '->Util::Any::import(@_);';
+   my @arg = grep !exists $Utils->{$_}, @_;
+   if ((@_ and @arg) or !@_) {
+     eval "package $caller; $pkg" . '->Perl6::Export::Attrs::_generic_import(@arg)';
+   }
+   return;
+ }
+ 
+ sub foo :Export(:DEFAULT) {
+   return "foo!";
+ }
+ 
+ 1;
+
+=head1 AUTHOR
+
+Ktat, C<< <ktat at cpan.org> >>
+
+=head1 BUGS
+
+Please report any bugs or feature requests to
+C<bug-util-any at rt.cpan.org>, or through the web interface at
+L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Util-Any>.
+I will be notified, and then you'll automatically be notified of progress on
+your bug as I make changes.
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+    perldoc Util::Any
+
+You can also look for information at:
+
+=over 4
+
+=item * AnnoCPAN: Annotated CPAN documentation
+
+L<http://annocpan.org/dist/Util-Any>
+
+=item * CPAN Ratings
+
+L<http://cpanratings.perl.org/d/Util-Any>
+
+=item * RT: CPAN's request tracker
+
+L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Util-Any>
+
+=item * Search CPAN
+
+L<http://search.cpan.org/dist/Util-Any>
+
+=back
+
+=head1 REPOSITORY
+
+  svn co http://svn.coderepos.org/share/lang/perl/Util-Any/trunk Util-Any
+
+Subversion repository of Util::Any is hosted at http://coderepos.org/share/.
+patches and collaborators are welcome.
+
+=head1 SEE ALSO
+
+The following modules can work with Util::Any.
+
+L<Exporter>, L<Exporter::Simple>, L<Sub::Exporter> and L<Perl6::Export::Attrs>.
+
+The following is new module Util::All, based on Util::Any.
+
+ http://github.com/ktat/Util-All
+
+=head1 ACKNOWLEDGEMENTS
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2008-2009 Ktat, all rights reserved.
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=cut
+
+1; # End of Util-Any
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/Makefile.PL
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/Makefile.PL (revision 35474)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/Makefile.PL (revision 35474)
@@ -0,0 +1,26 @@
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+    NAME                => 'Util::Any',
+    AUTHOR              => 'Ktat <ktat@cpan.org>',
+    VERSION_FROM        => 'lib/Util/Any.pm',
+    ABSTRACT_FROM       => 'lib/Util/Any.pm',
+    PL_FILES            => {},
+    PREREQ_PM => {
+        'Clone'             => 0,
+        'Test::More'        => 0,
+	'ExportTo'          => 0,
+	'List::Util'        => 0,
+	'List::MoreUtils'   => 0,
+	'Hash::Util'        => 0,
+	'Scalar::Util'      => 0,
+	'Data::Dumper'      => 0,
+	'String::Util'      => 0,
+	'String::CamelCase' => 0,
+	'Module::Pluggable' => 0,
+    },
+    dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+    clean               => { FILES => 'Util-Any-*' },
+);
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/Changes
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/Changes (revision 35510)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/Changes (revision 35510)
@@ -0,0 +1,93 @@
+Revision history for Util-Any
+
+0.17    2009/10/06 03:32
+	add -args option to give common arguments to all functions in same kind.
+  	enable to work -all with kind setting. for example
+	       -all, -list => {...}
+	fix typo: inherit Perl6::Exprot::Attr and ':ALL' keyword didn't work correctly.
+	fix typo: inherit Exproer and ':all' keyword didn't work correctly.
+        Thanks to  Richard Jelinek, again.
+
+0.16    2009/09/30 03:16
+        fix bug: using SubExportor's generator way and select functions with rename function,
+                 didn't working correctly
+                 example: ["function", "function2", function3 => {-as => "functionX"}]
+        fix bug: using SubExporter's generator way, didn't add prefix.
+        if wrong option is passed as plugin options, Carp.
+        refactored code. fix buggy code.
+
+0.15    2009/09/29 04:17
+	fix bug: -as doesn't work for renamed function.
+ 	now, can choose how to load plugin. 'lazy', 'eager' or '0'.
+          default is 'lazy'.
+
+0.14    2009/09/26 11:02
+  	add pluggable feature.
+  	performance improvement.
+	    if empty -select option is passed,
+	    don't seek class's all functions.
+        warn when unkown arguments are passed.
+
+0.13    2009/09/24 13:53
+        improve code generator.
+            enable not to set -as.
+            export code generator when specifing only kind.
+        perfomance improvement
+        fix typo in document
+
+0.12    2009/09/15 16:29
+  	fix bug importing with specific functions
+ 	    for example, -list => ['uniq'];
+	    it occurs when one kind has multiple modules.
+	    This bug is from 0.08
+	fix bug, export like SubExpoter (rename using -as) didn't work.
+	fix bug, the following importing didn't work.
+	    use Util::Any {-list => ['uniq']};
+	    This was bug of documennt, but now work.
+	fix document
+            -kind => 'function' doesn't work. use -kind => ['function'], instead.
+            for example, -list => ['uniq']
+	add test for synopsis example
+ 	add test of Sub::Exporter generators way and write docuement about it.
+	fix typo in test script
+
+0.11    2009/09/15 09:47
+	fix test script. if module is not installed, skip test.
+
+0.10    2009/09/14 11:47
+	add option smart_rename.
+
+0.09    2009/09/14 03:31
+	Fix bug, prefix doesn't work when using '-kind' style.
+
+0.08    2009/09/11 15:58
+	support Sub::Exporter
+        support some of exporting ways of Sub::Exporter
+
+0.07    2009/04/12 03:58
+        Fix bug when inheriting
+        Thanks to  Richard Jelinek
+
+0.06    2009/03/22 14:55
+        support Exporter and Exporter::Simple
+
+0.05    2009/03/22 02:35
+        solve the problem using Util::Any with Perl6::Export::Atttrs
+        new feature to inherit Util::Any(-Base and -Perl6ExportAttrs)
+
+0.04    2008/12/14 17:34
+	-select & -except option is added to select functions to be exported.
+        enable to rename function name.
+
+0.03    2008/12/05 15:37
+        add debug option
+        write document in detail
+        fix for Perl 5.10.
+        Perl 5.10 Hash::Util doesn't have some functions which are defined in EXPORT_OK.
+
+0.02    2008/12/03 14:52
+        class variables should be cloned in sub class,
+        so change %Utils variables from hash to hash ref to clone easily.
+
+0.01    2008/12/03 03:13
+        First version
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/README
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/README (revision 25725)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/README (revision 25725)
@@ -0,0 +1,40 @@
+Util-Any
+
+For the people who cannot remember uniq function is in whether List::Util or List::MoreUtils.
+
+INSTALLATION
+
+To install this module, run the following commands:
+
+    perl Makefile.PL
+    make
+    make test
+    make install
+
+
+SUPPORT AND DOCUMENTATION
+
+After installing, you can find documentation for this module with the perldoc command.
+
+    perldoc Util::Any
+
+You can also look for information at:
+
+    Search CPAN
+        http://search.cpan.org/dist/Util-Any
+
+    CPAN Request Tracker:
+        http://rt.cpan.org/NoAuth/Bugs.html?Dist=Util-Any
+
+    AnnoCPAN, annotated CPAN documentation:
+        http://annocpan.org/dist/Util-Any
+
+    CPAN Ratings:
+        http://cpanratings.perl.org/d/Util-Any
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2008 Ktat
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
Index: /lang/perl/Util-Any/tags/Util-Any-0.17/.shipit
===================================================================
--- /lang/perl/Util-Any/tags/Util-Any-0.17/.shipit (revision 25765)
+++ /lang/perl/Util-Any/tags/Util-Any-0.17/.shipit (revision 25765)
@@ -0,0 +1,8 @@
+steps = FindVersion, ChangeVersion, CheckChangeLog, DistTest, Commit, Tag, MakeDist, UploadCPAN, Twitter
+
+svk.tagpattern = Util-Any-%v
+# svn.tagpattern = http://svn.coderepos.org/share/lang/perl/Util-Any/tags/Util-Any-%v
+
+twitter.config = ~/.twitterrc
+twitter.distname = Util-Any
+twitter.message = shipped %d %v - soon at %u
