Dave Rolsky

NAME

Sig::PackageScoped - Make $SIG{__DIE__} and $SIG{__WARN__} package scoped

SYNOPSIS

  use Sig::PackageScoped qw(set_sig unset_sig);

  set_sig( __DIE__ => sub { die "Really dead: @_" } );

  unset_sig( __DIE__ => 1 );

DESCRIPTION

If all your modules use this module's functions to declare their signal handlers, then they won't overwrite each other. If you're working with modules that don't play nice, see Sig::PackageScoped::Paranoid. But really, this is more of a demonstration of weird things you can do with Perl than a good thing to use in production. You have been warned.

EXPORTS

This module will optionally export the set_sig and <unset_sig> subroutines. By default, nothing is exported.

FUNCTIONS

This module provides the following functions:

set_sig()

This function accepts a hash of options. The keys can be either __DIE__ or __WARN__, and the values should be coderefs to handle the specified pseudo-signal.

unset_sig()

This function also expects a hash. The keys should be the pseudo-signal to unset, and the value can be any true value.

AUTHOR

Dave Rolsky <autarch@urth.org>

BUGS

Please report any bugs or feature requests to bug-sig-packagescoped@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT & LICENSE

Copyright 2001-2007 David Rolsky, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.