in reply to B::Deparse weirdness

Sorry what is the intention of the code?

My biological parser is guessing that "foo" is a file to be evaled via do and has to return a hashref?

Correct?

You might wanna use B::Concise to inspect the op-codes.

update

my guess w/o further inspection is that the do is differently parsed than e.g. print where the parens have priority to capture the EXPR part.

(thats actually what B::Deparse is assuming when generating the second output)

So w/o strictures something like ("foo")->{bla} is parsed as a whole EXPR to be passed to do. (i.e. bareword as reference)

So it's not really B::Deparse 's fault that Perl's parser is inconsistent.

Cheers Rolf

(addicted to the Perl Programming Language and ☆☆☆☆ :)