> If you are geting errors in the call_method() I think adding G_EVAL
> will provide _a_ level for caller to find.

Hmm...

Well, the stack got deeper. But as I look at, it appears to me that
maybe it was deep enough already, just not useful. I'm afraid I
confused the issue in my orignal example by passing caller() '1', when
I should probably have passed it '0'.

At any rate, the zeroth frame has some useful data, e.g. the qualified
sub name. But for carp to work correctly, I need to replace the
'/dev/null' and the line number (reportedly '0' here) with more helpful
data.

Is it practical to manipulate the these data in order to plug in some
arbitrary values?



thanks for looking


===========================================================================

"caller(1)"
$VAR1 = [
          'main',
          '/dev/null',
          0,
          '(eval)',
          0,
          undef,
          undef,
          undef,
          0,
          '[non-ascii]'
        ];


"caller(0)"
$VAR1 = [
          'main',
          '/dev/null',
          0,
          'Ex::do_something',
          1,
          0,
          undef,
          undef,
          0,
          '[non-ascii]'
        ];


"caller()"
$VAR1 = [
          'main',
          '/dev/null',
          0
        ];

"warn"ing at lib/Ex.pm line 23.
"carp"ing at /dev/null line 0
you gave me "some arbitrary data"

Reply via email to