X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=lib%2Findirect.pm;h=239773f9a6d7b65c66394f290151786db027ef06;hp=7c2bab120e97667ef656be5f767e279efa1ab440;hb=e3cc63669e7d84f338348281f313709bae0be8af;hpb=472dba145dd39b08abd25fbb0b1b9fc8697b6575 diff --git a/lib/indirect.pm b/lib/indirect.pm index 7c2bab1..239773f 100644 --- a/lib/indirect.pm +++ b/lib/indirect.pm @@ -1,6 +1,6 @@ package indirect; -use 5.008; +use 5.008001; use strict; use warnings; @@ -11,13 +11,13 @@ indirect - Lexically warn about using the indirect object syntax. =head1 VERSION -Version 0.18 +Version 0.21 =cut our $VERSION; BEGIN { - $VERSION = '0.18'; + $VERSION = '0.21'; } =head1 SYNOPSIS @@ -48,7 +48,9 @@ BEGIN { =head1 DESCRIPTION When enabled (or disabled as some may prefer to say, since you actually turn it on by calling C), this pragma warns about indirect object syntax constructs that may have slipped into your code. + This syntax is now considered harmful, since its parsing has many quirks and its use is error prone (when C isn't defined, C actually compiles to C<< $x->swoosh >>). +In L, Matt S. Trout gives an example of an indirect construct that can cause a particularly bewildering error. It currently does not warn for core functions (C, C, C or C). This may change in the future, or may be added as optional features that would be enabled by passing options to C. @@ -61,6 +63,7 @@ BEGIN { if ($ENV{PERL_INDIRECT_PM_DISABLE}) { *_tag = sub ($) { 1 }; *I_THREADSAFE = sub () { 1 }; + *I_FORKSAFE = sub () { 1 }; } else { require XSLoader; XSLoader::load(__PACKAGE__, $VERSION); @@ -148,6 +151,11 @@ sub msg { True iff the module could have been built with thread-safety features enabled. +=head2 C + +True iff this module could have been built with fork-safety features enabled. +This will always be true except on Windows where it's false for perl 5.10.0 and below . + =head1 DIAGNOSTICS =head2 C @@ -183,7 +191,7 @@ Hence C will be caught. =head1 DEPENDENCIES -L 5.8. +L 5.8.1. L (standard since perl 5.006). @@ -214,7 +222,7 @@ Andrew Main and Florian Ragwitz, for testing on real-life code and reporting iss =head1 COPYRIGHT & LICENSE -Copyright 2008-2009 Vincent Pit, all rights reserved. +Copyright 2008,2009,2010 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.