in reply to Re^4: Why shows B::Deparse __END__ as __DATA__?
in thread Why shows B::Deparse __END__ as __DATA__?

so I did a little testing

these examples

lanx@nc10-ubuntu:/tmp$ cat end.pl print <DATA>; __END__ end lanx@nc10-ubuntu:/tmp$ cat data.pl print <DATA>; __DATA__ data

produce identical op-codes.

I'm not aware of a mechanisms to access the content after __DATA__/__END__ other than reading from the file-handle of the source (i.e. <DATA> ) at compile/run time.

Since B::Deparse is meant to analyze single files and both stop-markers are only different in a multi-file situation you might have entered an edge-case where B::Deparse has no possibility to see any difference.

I.o.W. can you produce an example where there is a real difference between __DATA__ and __END__ where B::Deparse actually fails?

Cheers Rolf

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