in reply to -p option with __DATA__

try aliasing DATA to ARGV.
#!/usr/bin/perl -p BEGIN{*ARGV=*DATA} __DATA__ hello world

print+qq(\L@{[ref\&@]}@{['@'x7^'!#2/"!4']});