in reply to 'perl -e' and '__DATA__' What's wrong?

It is an undocumented limit resulting from the choice of code used to implement __DATA__. (Hey a bug! although probably only a documentation bug.)

DATA is (effectively?) the file handle from which Perl reads the source, left pointing at the start of the line after the __DATA__ token.

Since -e doesn't read from a source file, DATA isn't a file handle to the source file.