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
=======================*/

Reply via email to