On Thu, 29 Jan 2004, Daisuke Maki wrote:
> > Can't this be done with the @CARP_NOT variable?
>
> Hmmm, I was trying to do this:
>
> sub on_fail {
> my($class, $input) = @_;
> local @Carp::CARP_NOT = qw( PKGS ... );
> croak $input;
> }
>
> But somehow the messages where unaltered, so now I look at Carp.pm from
> my perl 5.8.3, and I see the following:
>
> sub shortmess { # Short-circuit &longmess if called via multiple packages
> { local $@; require Carp::Heavy; } # XXX fix require to not clear [EMAIL
> PROTECTED]
> # Icky backwards compatibility wrapper. :-(
> my $call_pack = caller();
> local @CARP_NOT = caller(); # <<< RIGHT HERE
> shortmess_heavy(@_);
> }
>
> Hmph. local @CARP_NOT = caller()?
> It's overriding @CARP_NOT regardless of what the caller has done...?
>
> Dave, mind if I just fall back to what I initially proposed?
Sure, that's fine. Looks like Carp is a bit broken.
-dave
/*=======================
House Absolute Consulting
www.houseabsolute.com
=======================*/