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.