English module helps you to deal with the confusing variable names, like $^X and $'. English module associates the odd-named variables with something more understandable. Variable English Usage $^A $ACCUMULATOR Current value of write accumulator for format data. $_ $ARG Default input and pattern-searching variable. $^T $BASETIME Time script began running in time format. $? $CHILD_ERROR Status returned by last pipe close or system function. $^D $DEBUGGING Current value of Perl's debugging flags. $) $EFFECTIVE_GROUP_ID Effective group ID for the Perl process. $> $EFFECTIVE_USER_ID Effective user ID of process. $^X $EXECUTABLE_NAME Name of Perl binary executable file $! $ERRNO If numeric context, holds errno result of math function; if string context, holds error message. Also $OS_ERROR. $@ $EVAL_ERROR Error message from last eval call. $^E $EXTENDED_OS_ERROR Extended error on various operating systems. On Windows, holds the last error from the Win32 GetLastError() call. $^L $FORMAT_FORMFEED Output to advance a page from write. $: $FORMAT_LINE_BREAK_CHARACTERS Characters allowed to break on when filling continuation fields in a format. $- $FORMAT_LINES_LEFT Number of lines left on current page. $= $FORMAT_LINES_PER_PAGE Total number of lines available on page. $~ $FORMAT_NAME Name of current format. $% $FORMAT_PAGE_NUMBER Page number in current format. $^ $FORMAT_TOP_NAME Name of top-of-page format. $. $INPUT_LINE_NUMBER Line number in the last file handle that was read. $/ $INPUT_RECORD_SEPARATOR Ends a line of text for input, newline on UNIX, carriage return and newline on Windows. $+ $LAST_PAREN_MATCH Last bracket matched by last search. $& $MATCH String matched by last match. $# $OFMT Output format for numbers printed with print (not using the format command described in Chapter 5). Normally %.20g. $^O $OSNAME Operating system name. $| $OUTPUT_AUTOFLUSH If non-zero forces a flush with each write or print. $, $OUTPUT_FIELD_SEPARATOR Output field separator. $\ $OUTPUT_RECORD_SEPARATOR Output record separator, equivalent of $/ for output. $^V $PERL_VERSION String printed by perl -v; version number. $' $POSTMATCH String following last match. $` $PREMATCH String preceding last match. $$ $PROCESS_ID The process ID for this script. Also $PID. $0 $PROGRAM_NAME Name of current Perl script (zero, not oh). $( $REAL_GROUP_ID Group ID for the Perl process. $< $REAL_USER_ID Real user ID. $; $SUBSCRIPT_SEPARATOR Subscript separator for multi-dimensional arrays. $^F $SYSTEM_FD_MAX Maximum system file descriptor. $^W $WARNING True if warning is turned on (by perl -w); false otherwise.