in reply to Bug in Array::Compare? (no, really)

caller(1) is attempting to get information about the subroutine that called simple_compare (in particular, to see if it is Array::Compare::perm). Since you are calling it from your main program, there is no such subroutine, and caller(1) returns an empty list.

When you call caller from the debugger command line, the debugger's own stack of calls gets in the way and produces different results.

  • Comment on Re: Bug in Array::Compare? (no, really)