inject Distar behavior at import time rather than compile time
Graham Knop [Fri, 15 Feb 2019 13:45:00 +0000 (14:45 +0100)]
lib/Distar.pm

index 1c36b19..fcdc97d 100644 (file)
@@ -18,6 +18,10 @@ our @EXPORT = qw(
 sub import {
   strict->import;
   warnings->import(FATAL => 'all');
+  if (!(@MM::ISA == 1 && $MM::ISA[0] eq 'Distar::MM')) {
+    @Distar::MM::ISA = @MM::ISA;
+    @MM::ISA = qw(Distar::MM);
+  }
   shift->export_to_level(1,@_);
 }
 
@@ -72,8 +76,6 @@ sub write_manifest_skip {
 
 {
   package Distar::MM;
-  our @ISA = @MM::ISA;
-  @MM::ISA = (__PACKAGE__);
 
   sub new {
     my ($class, $args) = @_;