X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2Findirect.pm;h=51b69d15205bbd2f72a545a2b7c9fe8c12555bd1;hb=3b757f7116ccdc022577b2d5f177556c78bcfeb8;hp=7fffeb580499dcdfb94ef7383f8fbdc230fea85b;hpb=560a513f8ed4ac6bae8ad769290a4415f9b8e42b;p=perl%2Fmodules%2Findirect.git diff --git a/lib/indirect.pm b/lib/indirect.pm index 7fffeb5..51b69d1 100644 --- a/lib/indirect.pm +++ b/lib/indirect.pm @@ -1,5 +1,7 @@ package indirect; +use 5.008; + use strict; use warnings; @@ -9,13 +11,13 @@ indirect - Lexically warn about using the indirect object syntax. =head1 VERSION -Version 0.07_03 +Version 0.11 =cut our $VERSION; BEGIN { - $VERSION = '0.07_03'; + $VERSION = '0.11'; } =head1 SYNOPSIS @@ -55,17 +57,25 @@ BEGIN { } sub import { - $^H{indirect} = undef; + $^H{+(__PACKAGE__)} = undef; } sub unimport { (undef, my $type) = @_; - $^H{indirect} = (defined $type and $type eq ':fatal') ? 2 : 1; + $^H |= 0x00020000; + $^H{+(__PACKAGE__)} = (defined $type and $type eq ':fatal') ? 2 : 1; } +=head1 CAVEATS + +C (no semicolon) at the end of a file won't be seen as an indirect object syntax, although it will as soon as there is another token before the end (as in C or C). + +With 5.8 perls, the pragma does not propagate into C. +This is due to a shortcoming in the way perl handles the hints hash, which is addressed in perl 5.10. + =head1 DEPENDENCIES -L 5.9.4. +L 5.8. L (standard since perl 5.006). @@ -93,7 +103,7 @@ Bram, for motivation and advices. =head1 COPYRIGHT & LICENSE -Copyright 2008 Vincent Pit, all rights reserved. +Copyright 2008-2009 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.