]> git.vpit.fr Git - perl/modules/indirect.git/blobdiff - lib/indirect.pm
Make the hint thread-safe and store a coderef called each time an indirect construct...
[perl/modules/indirect.git] / lib / indirect.pm
index 51b69d15205bbd2f72a545a2b7c9fe8c12555bd1..c068be73fa8e42e43bbf961f4343ff698cc3c1ec 100644 (file)
@@ -58,12 +58,19 @@ BEGIN {
 
 sub import {
  $^H{+(__PACKAGE__)} = undef;
+ ();
 }
 
+my $msg = sub { "Indirect call of method \"$_[1]\" on object \"$_[0]\"" };
+
 sub unimport {
  (undef, my $type) = @_;
  $^H |= 0x00020000;
- $^H{+(__PACKAGE__)} = (defined $type and $type eq ':fatal') ? 2 : 1;
+ my $cb = (defined $type and $type eq ':fatal')
+           ? sub { die  $msg->(@_) }
+           : sub { warn $msg->(@_) };
+ $^H{+(__PACKAGE__)} = _tag($cb);
+ ();
 }
 
 =head1 CAVEATS