]> iEval git - acme-evil.git/blobdiff - lib/evil.pm
Minimum Perl version is 5.10.1
[acme-evil.git] / lib / evil.pm
index 08a8fe8d8f5012c2e7a8118585439a366fb1f2c0..449b6c160f691e87ec8cd6eb36f1cc19466614a3 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 package evil;
 
-use 5.008009;
+use 5.010001;
 use strict;
 use warnings;
 
@@ -10,7 +10,7 @@ use Carp;
 my $INTERMEDIATE = __PACKAGE__.'/intermediate';
 my $LAX          = __PACKAGE__.'/lax';
 
-our $VERSION = 0.002;
+our $VERSION = 0.003;
 
 our %tainted;
 our %wants_strict;
@@ -153,6 +153,33 @@ Synonym for C<no evil ':intermediate'>.
 
 =back
 
+=head1 BUGS
+
+The following does not die:
+
+  # Evil.pm
+  package Evil;
+  use evil;
+
+  # A.pm
+  package A;
+  use Evil;
+
+  # B.pm
+  package B;
+  no evil ':intermediate';
+  use Evil;
+
+  # script.pl
+  #!/usr/bin/perl
+  use A;
+  use B;
+
+Since Evil was loaded by A, B does not load Evil and therefore does
+not detect that Evil is... evil. If we loaded B before A in script.pl,
+we would get an exception. So order of loading modules matters for
+intermediate and lax modes. Strict mode is unaffected by this bug.
+
 =head1 CAVEATS
 
 When using intermediate and lax modes, any evil modules loaded before
@@ -181,7 +208,7 @@ Marius Gavrilescu, E<lt>marius@ieval.roE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016 by Marius Gavrilescu
+Copyright (C) 2016-2017 by Marius Gavrilescu
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself, either Perl version 5.22.2 or,
This page took 0.021551 seconds and 4 git commands to generate.