Why not adopt me?
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.