in reply to Having trouble groking XML::Parser::Lite::Tree::XPath

It's hard to tell since you didn't provide the XML, but the path would normally be /frob/text() or even /frob[1]/text() to short-circuit. However, that module doesn't seem to provide text() (Lite indeed!), nor does it seem to return object (which might have a text method), so $nodes[0]{children}[0]{content} is indeed the way to go.

By the way, the arrows are optional between indexes. For example, the following three expressions are identical.

$nodes[0]{children}[0]{content} Implicit $nodes[0]->{children}[0]->{content} Somewhere in between $nodes[0]->{children}->[0]->{content} Explicit