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

"Donc tu veux que je l'explique en Francais??? ;)"

Non, mercy beaucoup ;-)

"...you didn't append any data after __DATA__ in your examples..."

Mmh, i tried it but i didn't post the examples.

Seems like it doesn't matter but perhaps i'll need to retry this...

Best regards, Karl

«The Crux of the Biscuit is the Apostrophe»

  • Comment on Re^4: Why shows B::Deparse __END__ as __DATA__?

Replies are listed 'Best First'.
Re^5: Why shows B::Deparse __END__ as __DATA__?
by LanX (Saint) on Oct 11, 2014 at 14:45 UTC
    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 ☆☆☆☆ :)