Class::MOP does not currently dictate a minimum perl version required to
use it.
A brief inspection suggests that this is at least 5.6.0 (from the our
$VERSION alone).
Running perlver over it also produces the following.
---------------------------------------------------------------------------------
| file | explicit |
syntax | external |
|
---------------------------------------------------------------------------------
|
| Build.PL | ~ | ~
| n/a |
| Makefile.PL | ~ | ~
| n/a |
| lib/metaclass.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP/Attribute.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP/Class.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP/Instance.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP/Method.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP/Module.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP/Package.pm | ~ |
v5.6.0 | n/a |
| lib/Class/MOP/Class/Immutable.pm | ~ |
v5.6.0 | n/a |
| t/000_load.t | ~ |
v5.6.0 | n/a |
| t/001_basic.t | ~ |
v5.6.0 | n/a |
| t/002_class_precedence_list.t | ~ |
v5.6.0 | n/a |
| t/003_methods.t | ~ |
v5.6.0 | n/a |
| t/004_advanced_methods.t | ~ |
v5.6.0 | n/a |
| t/005_attributes.t | ~ |
v5.6.0 | n/a |
| t/006_new_and_clone_metaclasses.t | ~ |
v5.6.0 | n/a |
| t/010_self_introspection.t | ~ |
v5.6.0 | n/a |
| t/011_create_class.t | ~ |
v5.6.0 | n/a |
| t/012_package_variables.t | ~ |
v5.6.0 | n/a |
| t/013_add_attribute_alternate.t | ~ |
v5.6.0 | n/a |
| t/014_attribute_introspection.t | ~ |
v5.6.0 | n/a |
| t/015_metaclass_inheritance.t | ~ |
v5.6.0 | n/a |
| t/016_class_errors_and_edge_cases.t | ~ |
v5.6.0 | n/a |
| t/017_add_method_modifier.t | ~ |
v5.6.0 | n/a |
| t/018_anon_class.t | ~ |
v5.6.0 | n/a |
| t/020_attribute.t | ~ |
v5.6.0 | n/a |
| t/021_attribute_errors_and_edge_cases.t | ~ |
v5.6.0 | n/a |
| t/030_method.t | ~ |
v5.6.0 | n/a |
| t/031_method_modifiers.t | ~ |
v5.6.0 | n/a |
| t/040_metaclass.t | ~ |
v5.6.0 | n/a |
| t/041_metaclass_incompatability.t | ~ |
v5.6.0 | n/a |
| t/042_metaclass_incompatibility_dynamic.t | ~ |
v5.6.0 | n/a |
| t/043_instance_metaclass_incompatibility.t | ~ |
v5.6.0 | n/a |
| t/044_instance_metaclass_incompatibility_dynamic.t | ~ |
v5.6.0 | n/a |
| t/050_scala_style_mixin_composition.t | ~ |
v5.6.0 | n/a |
| t/060_instance.t | ~ |
v5.6.0 | n/a |
| t/061_instance_inline.t | ~ |
v5.6.0 | n/a |
| t/070_immutable_metaclass.t | ~ |
v5.6.0 | n/a |
| t/071_immutable_w_custom_metaclass.t | ~ |
v5.6.0 | n/a |
| t/080_meta_package.t | ~ |
v5.6.0 | n/a |
| t/100_BinaryTree_test.t | ~ |
v5.6.0 | n/a |
| t/101_InstanceCountingClass_test.t | ~ |
v5.6.0 | n/a |
| t/102_InsideOutClass_test.t | ~ |
v5.6.0 | n/a |
| t/103_Perl6Attribute_test.t | ~ |
v5.6.0 | n/a |
| t/104_AttributesWithHistory_test.t | ~ |
v5.6.0 | n/a |
| t/105_ClassEncapsulatedAttributes_test.t | ~ |
v5.6.0 | n/a |
| t/106_LazyClass_test.t | ~ |
v5.6.0 | n/a |
| t/107_C3MethodDispatchOrder_test.t | ~ |
v5.6.0 | n/a |
| t/108_ArrayBasedStorage_test.t | ~ |
v5.6.0 | n/a |
| t/200_Class_C3_compatibility.t | ~ |
v5.6.0 | n/a |
| t/300_random_eval_bug.t | ~ |
v5.6.0 | n/a |
| t/pod.t | ~ |
v5.6.0 | n/a |
| t/pod_coverage.t | ~ |
v5.6.0 | n/a |
| t/lib/BinaryTree.pm | ~ |
v5.6.0 | n/a |
|
---------------------------------------------------------------------------------
|
| Minimum explicit version : ~
|
| Minimum syntax version : v5.6.0
|
| Minimum version of perl : v5.6.0
|
---------------------------------------------------------------------------------
In any case, it might be a good idea to add the explicit version dependency.
One entry in the Makefile.PL and a "use 5.006" in the main MOP.pm should
be enough.