in reply to -p option with __DATA__

-p is documented to do while (<>), not while (<DATA>)

The default file handle, ARGV, reads from the files named in @ARGV (i.e. supplied on the command line) or STDIN if no files were supplied.