in reply to local @ARGV and die()

You can make use of the wonderful Fatal module. Try the following (assuming nonexistant doesn't exist).

perl -e 'use Fatal qw(open); local @ARGV=qw(nonexistant); eval{ <> }; + print "$@\n";'
So, all you need to do is put use Fatal qw(open); at the top of your script.

my @a=qw(random brilliant braindead); print $a[rand(@a)];