in reply to end of the line

Did your post actually contain all the text from Carp? I'm wondering, because I'd expect that the messages would include the string "Can only handle bank accounts right now..." -- when you run the test without "-MCarp=verbose", I'd expect you get just the "Can only handle..." report.

Maybe the part you're confused about is that when you use the "verbose" setting on Carp, the error messages include not only what the module author wants to say but also the full content of @_ as it was passed to the failing subroutine.

So, the string in $data really is being split on "\n" (which really is the same as \x{a}), but the Carp output isn't showing you the results of the split -- it's showing you what args were passed to the subroutine, and (I presume) the error message provided by the author.

If you were to modify the source code, so that the message would be "Can't handle type <<$type>> things, only !Type:Bank", I think the problem would become clear.

Replies are listed 'Best First'.
Re^2: end of the line
by RandomWalk (Beadle) on Sep 10, 2004 at 03:33 UTC
    "... the error messages include ... the full content of @_ as it was passed to the failing subroutine."

    That's where I misunderstood. (I was using -MCarp=verbose because the unremoved /x{d} cut the terse error message off at the first line.)

    Dumb now that I see, which makes me all the more appreciative of your detailed and gentle response.