perl -se "BEGIN{print qq(inside BEGIN \@ARGV is [@ARGV]\n)};print qq(inside main \@ARGV is [@ARGV] and \$test is [$test]\n);" -test=SET_VIA_-s arg1 inside BEGIN @ARGV is [arg1] Can't modify constant item in scalar assignment at -e line 2, near "SET_VIA_-s" syntax error at -e line 2, near "SET_VIA_-s" Execution of -e aborted due to compilation errors.