perldoc -u perlvar |perl -ne '$seen{$1}=1 if /(\$[A-Z_]+)\b/}{ print
+join "\n", keys %seen'
$ERRNO
$RS
$OSNAME
$OUTPUT_FIELD_SEPARATOR
$EXTENDED_OS_ERROR
$LAST_SUBMATCH_RESULT
$COMPILING
$PREMATCH
$OFMT
$OUTPUT_RECORD_SEPARATOR
$FORMAT_NAME
$SUBSCRIPT_SEPARATOR
$LIST_SEPARATOR
$WARNING
$EUID
$FORMAT_LINE_BREAK_CHARACTERS
$OS_ERROR
$FORMAT_FORMFEED
$PERL_VERSION
$I
$INPUT_RECORD_SEPARATOR
$DEBUGGING
$NR
$REAL_USER_ID
$CHILD_ERROR
$PID
$FORMAT_TOP_NAME
$EVAL_ERROR
$FORMAT_LINES_LEFT
$POSTMATCH
$EXECUTABLE_NAME
$ACCUMULATOR
$EXCEPTIONS_BEING_CAUGHT
$FORMAT_LINES_PER_PAGE
$LAST_PAREN_MATCH
$OLD_PERL_VERSION
$ORS
$OUTPUT_AUTOFLUSH
$EGID
$ARRAY_BASE
$BASETIME
$REAL_GROUP_ID
$EFFECTIVE_GROUP_ID
$SUBSEP
$OFS
$ARGV
$PROGRAM_NAME
$SIG
$FORMAT_PAGE_NUMBER
$UID
$SYSTEM_FD_MAX
$INPUT_LINE_NUMBER
$GID
$INPLACE_EDIT
$MATCH
$LAST_REGEXP_CODE_RESULT
$PROCESS_ID
$EFFECTIVE_USER_ID
$PERLDB
$_
UPDATE: added underscore