in reply to 1 object left on the stack

I see that this question is very old, but I stumbled onto it while looking up this error myself yesterday. I solved my problem this morning, so I figured I would reply here in case anyone else stumbles on to this as well. I believe the reason that this message is appearing is because you are referencing a Perl variable directly in your XPath expression, just as I was.

for my $dead ($d->findnodes(q{/category/subcategory/product[product_id + = $prod]}))

I solved this by setting my XPath expression in another variable, so I could concatenate the value from the variable I was using for the lookup into the XPath string, and then used this new variable for the findnodes query. After doing this, that message went away.

my $xPath = '/category/subcategory/product[product_id = ' . $prod . '] +'; for my $dead ($d->findnodes($xPath))
Hope this helps.