http://www.perlmonks.org?node_id=1012733


in reply to ARGV and online Perl commands

The shell is evaluating "$ARGV", which comes out as an empty string. Effectively, it is just like running the following:
$ perl -e "print [1];" ONE- TWO- ARRAY(0x7fd5ea803ed0)$
As toolic pointed out, one way to prevent the shell from evaluating $ARGV is by using single quotes around your command.

tiny update: cleaned up the prompt, in order to simplify my example.