qw(foo bar))[$_[0]] would still yield 'foo' when @_ is empty (therefore, $_[0] is undef). #### Enter h or `h h' for help, or `man perldebug' for more help. h main::(-:1): h DB<1> x $ARGV[0] 0 undef DB<2> x 3 + $ARGV[0] 0 3 DB<3> x 3 * $ARGV[0] 0 0