]> git.vpit.fr Git - perl/modules/indirect.git/blobdiff - README
I_THREADSAFE ought to be true when PERL_INDIRECT_PM_DISABLE is set
[perl/modules/indirect.git] / README
diff --git a/README b/README
index f362c9fdc574fa55458eb92b7028c7b0dfd358ee..d1b1229c0221abc04437cd1c09e0c1686ce43317 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
     indirect - Lexically warn about using the indirect object syntax.
 
 VERSION
-    Version 0.16
+    Version 0.18
 
 SYNOPSIS
         # In a script
@@ -80,6 +80,18 @@ DIAGNOSTICS
     The default warning/exception message thrown when an indirect call on a
     block is found.
 
+ENVIRONMENT
+  "PERL_INDIRECT_PM_DISABLE"
+    If this environment variable is set to true when the pragma is used for
+    the first time, the XS code won't be loaded and, although the 'indirect'
+    lexical hint will be set to true in the scope of use, the pragma itself
+    won't do anything. This is useful for disabling "indirect" in production
+    environments.
+
+    Note that clearing this variable after "indirect" was loaded has no
+    effect. If you want to reenable the pragma later, you also need to
+    reload it by deleting the 'indirect.pm' entry from %INC.
+
 CAVEATS
     The implementation was tweaked to work around several limitations of
     vanilla "perl" pragmas : it's thread safe, and doesn't suffer from a
@@ -94,6 +106,9 @@ CAVEATS
     is due to a shortcoming in the way perl handles the hints hash, which is
     addressed in perl 5.10.
 
+    The search for indirect method calls happens before constant folding.
+    Hence "my $x = new Class if 0" will be caught.
+
 DEPENDENCIES
     perl 5.8.