ACME-Error
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/ACME/Error.pm view on Meta::CPAN
package ACME::Error;
use strict;
use vars qw[$VERSION];
$VERSION = '0.03';
sub import {
my $class = shift;
if ( my $style = shift ) {
my $package = qq[ACME::Error::$style];
my $args = join q[', '], @_;
eval qq[use $package '$args'];
die $@ if $@;
my $nested = -1;
{ no strict 'refs';
$SIG{__WARN__} = sub {
local $SIG{__WARN__};
$nested++;
my $handler = $package . q[::warn_handler];
warn &{$handler}(@_) unless $nested;
warn @_ if $nested;
$nested--;
};
$SIG{__DIE__} = sub {
local $SIG{__DIE__};
$nested++;
my $handler = $package . q[::die_handler];
die &{$handler}(@_) unless $nested;
die @_ if $nested;
$nested--;
};
}
# $SIG{__WARN__} = sub {
# my $handler = $package . q[::warn_handler];
# {
# no strict 'refs';
# warn &{$handler} , "\n" if exists &{$handler};
# }
# };
# $SIG{__DIE__} = sub {
# my $handler = $package . q[::die_handler];
# {
# no strict 'refs';
# die &{$handler}, "\n" if exists &{$handler};
# }
# };
}
}
1;
lib/ACME/Error/SHOUT.pm view on Meta::CPAN
package ACME::Error::SHOUT;
use strict;
no strict 'refs';
use vars qw[$VERSION];
$VERSION = '0.02';
*warn_handler = *die_handler = sub {
my @error = @_;
$error[$_] =~ s/.$/!/g for 0 .. $#error;
return map uc, @error;
};
1;
__END__
# Below is stub documentation for your module. You better edit it!
=head1 NAME
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.525 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )