X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2Fevil.pm;h=9aa718bef81c04205e8bf25a2a636f0b8b32b0f6;hb=refs%2Ftags%2F0.003;hp=08a8fe8d8f5012c2e7a8118585439a366fb1f2c0;hpb=177e0245e4ce9fd721aa0cd9314c2c1894bd1125;p=acme-evil.git diff --git a/lib/evil.pm b/lib/evil.pm index 08a8fe8..9aa718b 100644 --- a/lib/evil.pm +++ b/lib/evil.pm @@ -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. =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, Emarius@ieval.roE =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,