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.:
C:\test>perl -Mused Reprove.pl 2>nul | wc -l
357
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.
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.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.