in reply to Re^7: Should I upload it on CPAN?
in thread Should I upload it on CPAN?
By your logic, we should all just be writing in binary, and assembler is for people who don't understand 1 and 0s.
With respect. Twaddle!
The purpose of abstraction is to simplify. The art of good abstraction is to use the appropriate level for the task at hand.
Using the 300+ modules of Moose et. al.:
to invoke LWP::Simple::get() on a list of files, write them to a temporary directory, and then invoke system to run a command; is an inappropriate use of abstraction. The creation of complexity from simplicity. In a word, overkill.C:\test>perl -Mused Reprove.pl 2>nul | wc -l 357
Like hiring the Philharmonic Orchestra to play musak in your lift; using an 18-wheeler to fetch a pint of milk from the corner shop; deploying the Delta Force to remove a spider from your bath.
I've said it before, I consider Moose to be best-of-breed for its purpose. But replacing a for loop and system with 300 modules to construct a module that contains the for loop and system, is not its purpose.
With regard to expertise: Still no one has stepped up to decipher this diarrhoea:
C:\test>Perl Reprove.pl Could not create the 'reader' method for variable_name because : Could + not generate inline reader because : Could not create writer for 'va +riable_name' because Failed to compile source: Compilation error source: #line 1 "reader MooseX::Traits::__ANON__::SERIAL::2::variable_name (de +fined at C:/Perl64/site/lib/Parse/Method/Signatures/Param/Bindable.pm + line 8)" sub { if (@_ > 1) { die Moose::Error::Util::create_error(message => "Cannot assign a value + to a read-only accessor", depth => -1, ); } return $_[0]->{"variable_name"}; } at C:/Perl64/site/lib/Class/MOP/Method/Generated.pm line 63 at C:/Perl64/site/lib/Moose/Meta/Method/Accessor.pm line 41 Moose::Meta::Method::Accessor::__ANON__('Failed to compile sou +rce: Compilation error\x{a}\x{a}source:\x{a}#line 1 ...') called at C +:/Perl64/site/lib/Try/Tiny.pm line 100 Try::Tiny::try('CODE(0x6c0f240)', 'Try::Tiny::Catch=REF(0x6c0e +d78)') called at C:/Perl64/site/lib/Moose/Meta/Method/Accessor.pm lin +e 47 Moose::Meta::Method::Accessor::_compile_code('Moose::Meta::Met +hod::Accessor=HASH(0x6c0ebb0)', 'ARRAY(0x6c0ee80)') called at C:/Perl +64/site/lib/Class/MOP/Method/Accessor.pm line 142 Class::MOP::Method::Accessor::__ANON__() called at C:/Perl64/s +ite/lib/Try/Tiny.pm line 71 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0eb98)', 'Try::Tiny::Catch=REF(0x6c0e +a30)') called at C:/Perl64/site/lib/Class/MOP/Method/Accessor.pm line + 157 Class::MOP::Method::Accessor::_generate_reader_method_inline(' +Moose::Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/s +ite/lib/Moose/Meta/Method/Accessor.pm line 62 Moose::Meta::Method::Accessor::_generate_reader_method('Moose: +:Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/li +b/Class/MOP/Method/Accessor.pm line 90 Class::MOP::Method::Accessor::_initialize_body('Moose::Meta::M +ethod::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/lib/Class/ +MOP/Method/Accessor.pm line 42 Class::MOP::Method::Accessor::new('Moose::Meta::Method::Access +or', 'attribute', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)', 'is_inlin +e', undef, 'accessor_type', 'reader', 'package_name', 'MooseX::Traits +::__ANON__::SERIAL::2', 'name', 'variable_name', 'associated_metaclas +s', 'Moose::Meta::Class=HASH(0x6c0c648)', 'definition_context', 'HASH +(0x6c0f1f8)') Class::MOP::Attribute::__ANON__() called at C:/Perl64/site/lib +/Try/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0f1b0)', 'Try::Tiny::Catch=REF(0x6c0f +0f0)') called at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 401 Class::MOP::Attribute::_process_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C:/ +Perl64/site/lib/Moose/Meta/Attribute.pm line 1074 Moose::Meta::Attribute::_process_accessors('Moose::Meta::Attri +bute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C: +/Perl64/site/lib/Class/MOP/Attribute.pm line 428 Class::MOP::Attribute::install_accessors('Moose::Meta::Attribu +te=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Moose/Meta/Attribut +e.pm line 1013 Moose::Meta::Attribute::install_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Class/MOP/Class.pm + line 891 Class::MOP::Class::__ANON__() called at C:/Perl64/site/lib/Try +/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0d430)', 'Try::Tiny::Catch=REF(0x6c08 +320)') called at C:/Perl64/site/lib/Class/MOP/Class.pm line 896 Class::MOP::Class::_post_add_attribute('Moose::Meta::Class=HAS +H(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C: +/Perl64/site/lib/Class/MOP/Mixin/HasAttributes.pm line 44 Class::MOP::Mixin::HasAttributes::add_attribute('Moose::Meta:: +Class=HASH(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') cal +led at C:/Perl64/site/lib/Moose/Meta/Class.pm line 570 Moose::Meta::Class::add_attribute('Moose::Meta::Class=HASH(0x6 +c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 152 Moose::Meta::Role::Application::ToClass::apply_attributes('Moo +se::Meta::Role::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta:: +Role::Composite=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648) +') called at C:/Perl64/site/lib/Moose/Meta/Role/Application.pm line 5 +8 Moose::Meta::Role::Application::apply('Moose::Meta::Role::Appl +ication::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Composite=HASH +(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 36 Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::R +ole::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Compo +site=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)', 'HASH(0x +6c03318)') called at C:/Perl64/site/lib/Moose/Meta/Role.pm line 470 Moose::Meta::Role::apply('Moose::Meta::Role::Composite=HASH(0x +6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl64/ +site/lib/Moose/Util.pm line 163 Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x6c0c6 +48)', undef, 'Parse::Method::Signatures::Param::Bindable', 'Parse::Me +thod::Signatures::Param::Positional') called at C:/Perl64/site/lib/Mo +ose/Util.pm line 99 Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x6c0c64 +8)', 'Parse::Method::Signatures::Param::Bindable', 'Parse::Method::Si +gnatures::Param::Positional') called at C:/Perl64/site/lib/Moose/Meta +/Class.pm line 104 Moose::Meta::Class::create('Class::MOP::Class::Immutable::Moos +e::Meta::Class=HASH(0x6b2f580)', 'MooseX::Traits::__ANON__::SERIAL::2 +', 'superclasses', 'ARRAY(0x6a072e8)', 'roles', 'ARRAY(0x6a1fea0)', ' +cache', 1) called at C:/Perl64/site/lib/MooseX/Traits/Util.pm line 67 MooseX::Traits::Util::new_class_with_traits('Parse::Method::Si +gnatures::Param', 'Bindable', 'Positional') called at C:/Perl64/site/ +lib/MooseX/Traits.pm line 24 MooseX::Traits::with_traits('Parse::Method::Signatures::Param' +, 'Bindable', 'Positional') called at C:/Perl64/site/lib/MooseX/Trait +s.pm line 46 MooseX::Traits::new_with_traits('Parse::Method::Signatures::Pa +ram', 'traits', 'ARRAY(0x6bfabd8)', 'required', 1, 'type_constraints' +, 'Parse::Method::Signatures::TypeConstraint=HASH(0x6c0b9e8)', 'varia +ble_name', '$file', 'sigil', '$') called at C:/Perl64/site/lib/Parse/ +Method/Signatures.pm line 113 Parse::Method::Signatures::create_param('Parse::Method::Signat +ures=HASH(0x6c08608)', 'HASH(0x6c085f0)') called at C:/Perl64/site/li +b/Parse/Method/Signatures.pm line 359 Parse::Method::Signatures::param('Parse::Method::Signatures=HA +SH(0x6c08608)') called at C:/Perl64/site/lib/Parse/Method/Signatures. +pm line 248 Parse::Method::Signatures::signature('Parse::Method::Signature +s', 'input', '(Str $file, $fh)', 'from_namespace', 'Module::Reprove') + called at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm + line 199 MooseX::Method::Signatures::Meta::Method::_build_parsed_signat +ure('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::parsed_signatur +e (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 36) line 7 MooseX::Method::Signatures::Meta::Method::parsed_signature('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 319 MooseX::Method::Signatures::Meta::Method::_build__positional_a +rgs('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::_positional_arg +s (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 62) line 7 MooseX::Method::Signatures::Meta::Method::_positional_args('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 369 MooseX::Method::Signatures::Meta::Method::_build_type_constrai +nt('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called + at reader MooseX::Method::Signatures::Meta::Method::type_constraint +(defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.p +m line 81) line 7 MooseX::Method::Signatures::Meta::Method::type_constraint('Moo +seX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C:/ +Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 174 Class::MOP::Class:::around('CODE(0x439bf08)', 'MooseX::Method: +:Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $fi +le, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Rep +rove') called at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line +162 Class::MOP::Method::Wrapped::__ANON__('MooseX::Method::Signatu +res::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $file, $fh) +', 'name', '_getfile_to_handle', 'package_name', 'Module::Reprove') c +alled at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line 91 MooseX::Method::Signatures::Meta::Method::wrap('MooseX::Method +::Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $f +ile, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Re +prove') called at C:/Perl64/site/lib/MooseX/Method/Signatures.pm line + 259 MooseX::Method::Signatures::_parser('MooseX::Method::Signature +s=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Method/Signat +ures.pm line 200 eval {...} called at C:/Perl64/site/lib/MooseX/Method/Signatur +es.pm line 200 MooseX::Method::Signatures::parser('MooseX::Method::Signatures +=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Declare/Syntax +/MethodDeclaration.pm line 51 MooseX::Declare::Syntax::MethodDeclaration::parse('MooseX::Dec +lare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'MooseX::Declare::Con +text=HASH(0x6a07528)') called at C:/Perl64/site/lib/MooseX/Declare/Sy +ntax/KeywordHandling.pm line 97 MooseX::Declare::Syntax::KeywordHandling::parse_declaration('M +ooseX::Declare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'C:/Perl64/ +site/lib/Module/Reprove.pm', 'HASH(0x62ba2d0)', 'method', 1) called a +t C:/Perl64/site/lib/MooseX/Declare/Syntax/KeywordHandling.pm line 51 MooseX::Declare::Syntax::KeywordHandling::__ANON__('method', 1 +) called at C:/Perl64/site/lib/Devel/Declare.pm line 274 Devel::Declare::linestr_callback('const', 'method', 1) called +at C:/Perl64/site/lib/Module/Reprove.pm line 109 require Module/Reprove.pm called at C:/Perl64/site/lib/App/Rep +rove.pm line 16 App::Reprove::BEGIN() called at C:/Perl64/site/lib/Module/Repr +ove.pm line 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 require App/Reprove.pm called at C:\test\Reprove.pl line 3 main::BEGIN() called at C:/Perl64/site/lib/Module/Reprove.pm l +ine 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 at C:/Perl64/site/lib/Class/MOP/Method/Accessor.pm line 156 Class::MOP::Method::Accessor::__ANON__('Could not create write +r for \'variable_name\' because Failed ...') called at C:/Perl64/site +/lib/Try/Tiny.pm line 100 Try::Tiny::try('CODE(0x6c0eb98)', 'Try::Tiny::Catch=REF(0x6c0e +a30)') called at C:/Perl64/site/lib/Class/MOP/Method/Accessor.pm line + 157 Class::MOP::Method::Accessor::_generate_reader_method_inline(' +Moose::Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/s +ite/lib/Moose/Meta/Method/Accessor.pm line 62 Moose::Meta::Method::Accessor::_generate_reader_method('Moose: +:Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/li +b/Class/MOP/Method/Accessor.pm line 90 Class::MOP::Method::Accessor::_initialize_body('Moose::Meta::M +ethod::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/lib/Class/ +MOP/Method/Accessor.pm line 42 Class::MOP::Method::Accessor::new('Moose::Meta::Method::Access +or', 'attribute', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)', 'is_inlin +e', undef, 'accessor_type', 'reader', 'package_name', 'MooseX::Traits +::__ANON__::SERIAL::2', ...) called at C:/Perl64/site/lib/Class/MOP/A +ttribute.pm line 389 Class::MOP::Attribute::__ANON__() called at C:/Perl64/site/lib +/Try/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0f1b0)', 'Try::Tiny::Catch=REF(0x6c0f +0f0)') called at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 401 Class::MOP::Attribute::_process_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C:/ +Perl64/site/lib/Moose/Meta/Attribute.pm line 1074 Moose::Meta::Attribute::_process_accessors('Moose::Meta::Attri +bute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C: +/Perl64/site/lib/Class/MOP/Attribute.pm line 428 Class::MOP::Attribute::install_accessors('Moose::Meta::Attribu +te=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Moose/Meta/Attribut +e.pm line 1013 Moose::Meta::Attribute::install_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Class/MOP/Class.pm + line 891 Class::MOP::Class::__ANON__() called at C:/Perl64/site/lib/Try +/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0d430)', 'Try::Tiny::Catch=REF(0x6c08 +320)') called at C:/Perl64/site/lib/Class/MOP/Class.pm line 896 Class::MOP::Class::_post_add_attribute('Moose::Meta::Class=HAS +H(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C: +/Perl64/site/lib/Class/MOP/Mixin/HasAttributes.pm line 44 Class::MOP::Mixin::HasAttributes::add_attribute('Moose::Meta:: +Class=HASH(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') cal +led at C:/Perl64/site/lib/Moose/Meta/Class.pm line 570 Moose::Meta::Class::add_attribute('Moose::Meta::Class=HASH(0x6 +c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 152 Moose::Meta::Role::Application::ToClass::apply_attributes('Moo +se::Meta::Role::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta:: +Role::Composite=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648) +') called at C:/Perl64/site/lib/Moose/Meta/Role/Application.pm line 5 +8 Moose::Meta::Role::Application::apply('Moose::Meta::Role::Appl +ication::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Composite=HASH +(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 36 Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::R +ole::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Compo +site=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)', 'HASH(0x +6c03318)') called at C:/Perl64/site/lib/Moose/Meta/Role.pm line 470 Moose::Meta::Role::apply('Moose::Meta::Role::Composite=HASH(0x +6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl64/ +site/lib/Moose/Util.pm line 163 Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x6c0c6 +48)', undef, 'Parse::Method::Signatures::Param::Bindable', 'Parse::Me +thod::Signatures::Param::Positional') called at C:/Perl64/site/lib/Mo +ose/Util.pm line 99 Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x6c0c64 +8)', 'Parse::Method::Signatures::Param::Bindable', 'Parse::Method::Si +gnatures::Param::Positional') called at C:/Perl64/site/lib/Moose/Meta +/Class.pm line 104 Moose::Meta::Class::create('Class::MOP::Class::Immutable::Moos +e::Meta::Class=HASH(0x6b2f580)', 'MooseX::Traits::__ANON__::SERIAL::2 +', 'superclasses', 'ARRAY(0x6a072e8)', 'roles', 'ARRAY(0x6a1fea0)', ' +cache', 1) called at C:/Perl64/site/lib/MooseX/Traits/Util.pm line 67 MooseX::Traits::Util::new_class_with_traits('Parse::Method::Si +gnatures::Param', 'Bindable', 'Positional') called at C:/Perl64/site/ +lib/MooseX/Traits.pm line 24 MooseX::Traits::with_traits('Parse::Method::Signatures::Param' +, 'Bindable', 'Positional') called at C:/Perl64/site/lib/MooseX/Trait +s.pm line 46 MooseX::Traits::new_with_traits('Parse::Method::Signatures::Pa +ram', 'traits', 'ARRAY(0x6bfabd8)', 'required', 1, 'type_constraints' +, 'Parse::Method::Signatures::TypeConstraint=HASH(0x6c0b9e8)', 'varia +ble_name', '$file', ...) called at C:/Perl64/site/lib/Parse/Method/Si +gnatures.pm line 113 Parse::Method::Signatures::create_param('Parse::Method::Signat +ures=HASH(0x6c08608)', 'HASH(0x6c085f0)') called at C:/Perl64/site/li +b/Parse/Method/Signatures.pm line 359 Parse::Method::Signatures::param('Parse::Method::Signatures=HA +SH(0x6c08608)') called at C:/Perl64/site/lib/Parse/Method/Signatures. +pm line 248 Parse::Method::Signatures::signature('Parse::Method::Signature +s', 'input', '(Str $file, $fh)', 'from_namespace', 'Module::Reprove') + called at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm + line 199 MooseX::Method::Signatures::Meta::Method::_build_parsed_signat +ure('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::parsed_signatur +e (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 36) line 7 MooseX::Method::Signatures::Meta::Method::parsed_signature('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 319 MooseX::Method::Signatures::Meta::Method::_build__positional_a +rgs('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::_positional_arg +s (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 62) line 7 MooseX::Method::Signatures::Meta::Method::_positional_args('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 369 MooseX::Method::Signatures::Meta::Method::_build_type_constrai +nt('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called + at reader MooseX::Method::Signatures::Meta::Method::type_constraint +(defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.p +m line 81) line 7 MooseX::Method::Signatures::Meta::Method::type_constraint('Moo +seX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C:/ +Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 174 Class::MOP::Class:::around('CODE(0x439bf08)', 'MooseX::Method: +:Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $fi +le, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Rep +rove', ...) called at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm +line 162 Class::MOP::Method::Wrapped::__ANON__('MooseX::Method::Signatu +res::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $file, $fh) +', 'name', '_getfile_to_handle', 'package_name', 'Module::Reprove') c +alled at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line 91 MooseX::Method::Signatures::Meta::Method::wrap('MooseX::Method +::Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $f +ile, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Re +prove') called at C:/Perl64/site/lib/MooseX/Method/Signatures.pm line + 259 MooseX::Method::Signatures::_parser('MooseX::Method::Signature +s=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Method/Signat +ures.pm line 200 eval {...} called at C:/Perl64/site/lib/MooseX/Method/Signatur +es.pm line 200 MooseX::Method::Signatures::parser('MooseX::Method::Signatures +=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Declare/Syntax +/MethodDeclaration.pm line 51 MooseX::Declare::Syntax::MethodDeclaration::parse('MooseX::Dec +lare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'MooseX::Declare::Con +text=HASH(0x6a07528)') called at C:/Perl64/site/lib/MooseX/Declare/Sy +ntax/KeywordHandling.pm line 97 MooseX::Declare::Syntax::KeywordHandling::parse_declaration('M +ooseX::Declare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'C:/Perl64/ +site/lib/Module/Reprove.pm', 'HASH(0x62ba2d0)', 'method', 1) called a +t C:/Perl64/site/lib/MooseX/Declare/Syntax/KeywordHandling.pm line 51 MooseX::Declare::Syntax::KeywordHandling::__ANON__('method', 1 +) called at C:/Perl64/site/lib/Devel/Declare.pm line 274 Devel::Declare::linestr_callback('const', 'method', 1) called +at C:/Perl64/site/lib/Module/Reprove.pm line 109 require Module/Reprove.pm called at C:/Perl64/site/lib/App/Rep +rove.pm line 16 App::Reprove::BEGIN() called at C:/Perl64/site/lib/Module/Repr +ove.pm line 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 require App/Reprove.pm called at C:\test\Reprove.pl line 3 main::BEGIN() called at C:/Perl64/site/lib/Module/Reprove.pm l +ine 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 400 Class::MOP::Attribute::__ANON__('Could not generate inline rea +der because : Could not create w...') called at C:/Perl64/site/lib/Tr +y/Tiny.pm line 100 Try::Tiny::try('CODE(0x6c0f1b0)', 'Try::Tiny::Catch=REF(0x6c0f +0f0)') called at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 401 Class::MOP::Attribute::_process_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C:/ +Perl64/site/lib/Moose/Meta/Attribute.pm line 1074 Moose::Meta::Attribute::_process_accessors('Moose::Meta::Attri +bute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C: +/Perl64/site/lib/Class/MOP/Attribute.pm line 428 Class::MOP::Attribute::install_accessors('Moose::Meta::Attribu +te=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Moose/Meta/Attribut +e.pm line 1013 Moose::Meta::Attribute::install_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Class/MOP/Class.pm + line 891 Class::MOP::Class::__ANON__() called at C:/Perl64/site/lib/Try +/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0d430)', 'Try::Tiny::Catch=REF(0x6c08 +320)') called at C:/Perl64/site/lib/Class/MOP/Class.pm line 896 Class::MOP::Class::_post_add_attribute('Moose::Meta::Class=HAS +H(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C: +/Perl64/site/lib/Class/MOP/Mixin/HasAttributes.pm line 44 Class::MOP::Mixin::HasAttributes::add_attribute('Moose::Meta:: +Class=HASH(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') cal +led at C:/Perl64/site/lib/Moose/Meta/Class.pm line 570 Moose::Meta::Class::add_attribute('Moose::Meta::Class=HASH(0x6 +c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 152 Moose::Meta::Role::Application::ToClass::apply_attributes('Moo +se::Meta::Role::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta:: +Role::Composite=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648) +') called at C:/Perl64/site/lib/Moose/Meta/Role/Application.pm line 5 +8 Moose::Meta::Role::Application::apply('Moose::Meta::Role::Appl +ication::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Composite=HASH +(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 36 Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::R +ole::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Compo +site=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)', 'HASH(0x +6c03318)') called at C:/Perl64/site/lib/Moose/Meta/Role.pm line 470 Moose::Meta::Role::apply('Moose::Meta::Role::Composite=HASH(0x +6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl64/ +site/lib/Moose/Util.pm line 163 Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x6c0c6 +48)', undef, 'Parse::Method::Signatures::Param::Bindable', 'Parse::Me +thod::Signatures::Param::Positional') called at C:/Perl64/site/lib/Mo +ose/Util.pm line 99 Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x6c0c64 +8)', 'Parse::Method::Signatures::Param::Bindable', 'Parse::Method::Si +gnatures::Param::Positional') called at C:/Perl64/site/lib/Moose/Meta +/Class.pm line 104 Moose::Meta::Class::create('Class::MOP::Class::Immutable::Moos +e::Meta::Class=HASH(0x6b2f580)', 'MooseX::Traits::__ANON__::SERIAL::2 +', 'superclasses', 'ARRAY(0x6a072e8)', 'roles', 'ARRAY(0x6a1fea0)', ' +cache', 1) called at C:/Perl64/site/lib/MooseX/Traits/Util.pm line 67 MooseX::Traits::Util::new_class_with_traits('Parse::Method::Si +gnatures::Param', 'Bindable', 'Positional') called at C:/Perl64/site/ +lib/MooseX/Traits.pm line 24 MooseX::Traits::with_traits('Parse::Method::Signatures::Param' +, 'Bindable', 'Positional') called at C:/Perl64/site/lib/MooseX/Trait +s.pm line 46 MooseX::Traits::new_with_traits('Parse::Method::Signatures::Pa +ram', 'traits', 'ARRAY(0x6bfabd8)', 'required', 1, 'type_constraints' +, 'Parse::Method::Signatures::TypeConstraint=HASH(0x6c0b9e8)', 'varia +ble_name', '$file', ...) called at C:/Perl64/site/lib/Parse/Method/Si +gnatures.pm line 113 Parse::Method::Signatures::create_param('Parse::Method::Signat +ures=HASH(0x6c08608)', 'HASH(0x6c085f0)') called at C:/Perl64/site/li +b/Parse/Method/Signatures.pm line 359 Parse::Method::Signatures::param('Parse::Method::Signatures=HA +SH(0x6c08608)') called at C:/Perl64/site/lib/Parse/Method/Signatures. +pm line 248 Parse::Method::Signatures::signature('Parse::Method::Signature +s', 'input', '(Str $file, $fh)', 'from_namespace', 'Module::Reprove') + called at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm + line 199 MooseX::Method::Signatures::Meta::Method::_build_parsed_signat +ure('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::parsed_signatur +e (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 36) line 7 MooseX::Method::Signatures::Meta::Method::parsed_signature('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 319 MooseX::Method::Signatures::Meta::Method::_build__positional_a +rgs('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::_positional_arg +s (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 62) line 7 MooseX::Method::Signatures::Meta::Method::_positional_args('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 369 MooseX::Method::Signatures::Meta::Method::_build_type_constrai +nt('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called + at reader MooseX::Method::Signatures::Meta::Method::type_constraint +(defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.p +m line 81) line 7 MooseX::Method::Signatures::Meta::Method::type_constraint('Moo +seX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C:/ +Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 174 Class::MOP::Class:::around('CODE(0x439bf08)', 'MooseX::Method: +:Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $fi +le, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Rep +rove', ...) called at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm +line 162 Class::MOP::Method::Wrapped::__ANON__('MooseX::Method::Signatu +res::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $file, $fh) +', 'name', '_getfile_to_handle', 'package_name', 'Module::Reprove') c +alled at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line 91 MooseX::Method::Signatures::Meta::Method::wrap('MooseX::Method +::Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $f +ile, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Re +prove') called at C:/Perl64/site/lib/MooseX/Method/Signatures.pm line + 259 MooseX::Method::Signatures::_parser('MooseX::Method::Signature +s=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Method/Signat +ures.pm line 200 eval {...} called at C:/Perl64/site/lib/MooseX/Method/Signatur +es.pm line 200 MooseX::Method::Signatures::parser('MooseX::Method::Signatures +=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Declare/Syntax +/MethodDeclaration.pm line 51 MooseX::Declare::Syntax::MethodDeclaration::parse('MooseX::Dec +lare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'MooseX::Declare::Con +text=HASH(0x6a07528)') called at C:/Perl64/site/lib/MooseX/Declare/Sy +ntax/KeywordHandling.pm line 97 MooseX::Declare::Syntax::KeywordHandling::parse_declaration('M +ooseX::Declare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'C:/Perl64/ +site/lib/Module/Reprove.pm', 'HASH(0x62ba2d0)', 'method', 1) called a +t C:/Perl64/site/lib/MooseX/Declare/Syntax/KeywordHandling.pm line 51 MooseX::Declare::Syntax::KeywordHandling::__ANON__('method', 1 +) called at C:/Perl64/site/lib/Devel/Declare.pm line 274 Devel::Declare::linestr_callback('const', 'method', 1) called +at C:/Perl64/site/lib/Module/Reprove.pm line 109 require Module/Reprove.pm called at C:/Perl64/site/lib/App/Rep +rove.pm line 16 App::Reprove::BEGIN() called at C:/Perl64/site/lib/Module/Repr +ove.pm line 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 require App/Reprove.pm called at C:\test\Reprove.pl line 3 main::BEGIN() called at C:/Perl64/site/lib/Module/Reprove.pm l +ine 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 Compilation failed in require at C:/Perl64/site/lib/App/Reprove.pm lin +e 16. BEGIN failed--compilation aborted at C:/Perl64/site/lib/App/Reprove.pm + line 16. Compilation failed in require at C:\test\Reprove.pl line 3. BEGIN failed--compilation aborted at C:\test\Reprove.pl line 3.
If you need what Moose provides, and if it works, it's really cool. But it doesn't always work right, and when it doesn't, you are world of pain. Up shit creek without a paddle unless some one-of-the-four takes pity on you. And that is no way to make a living in this industry.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^9: Should I upload it on CPAN?
by stvn (Monsignor) on Mar 02, 2012 at 15:09 UTC | |
by BrowserUk (Patriarch) on Mar 02, 2012 at 20:27 UTC |