#!/usr/bin/perl
package evil;
-use 5.008009;
+use 5.010001;
use strict;
use warnings;
my $INTERMEDIATE = __PACKAGE__.'/intermediate';
my $LAX = __PACKAGE__.'/lax';
-our $VERSION = 0.002;
+our $VERSION = 0.003;
our %tainted;
our %wants_strict;
=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
=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,