$;

$; The subscript separator for multidimensional array emulation. If you refer to a hash element as $foo{$x,$y,$z} it really means $foo{join($;, $x, $y, $z)} But don't put @foo{$x,$y,$z} # a slice--note the @ which means ($foo{$x},$foo{$y},$foo{$z}) Default is "\034", the same as SUBSEP in awk. If your keys contain binary data there might not be any safe value for $; . Consider using "real" multidimensional arrays as described in perllol. Mnemonic: comma (the syntactic subscript separator)

$:

$: The current set of characters after which a string may be broken to fill continuation fields (starting with ^) in a format. The default is " \n-", to break on a space, newline, or a hyphen. You cannot call format_line_break_characters() on a handle, only as a static method. See IO::Handle. Mnemonic: a "colon" in poetry is a part of a line.

$0

$0 Contains the name of the program being executed. On some (but not all) operating systems assigning to $0 modifies the argument area that the ps program sees. On some platforms you may have to use special ps options or a different ps to see the changes. Modifying the $0 is more useful as a way of indicating the current program state than it is for hiding the program you're running. Note that there are platform-specific limitations on the maximum length of $0 . In the most extreme case it may

$/

$/ The input record separator, newline by default. This influences Perl's idea of what a "line" is. Works like awk's RS variable, including treating empty lines as a terminator if set to the null string (an empty line cannot contain any spaces or tabs). You may set it to a multi-character string to match a multi-character terminator, or to undef to read through the end of file. Setting it to "\n\n" means something slightly different than setting to "" , if the file contains consecutive empty l

$.

$. Current line number for the last filehandle accessed. Each filehandle in Perl counts the number of lines that have been read from it. (Depending on the value of $/ , Perl's idea of what constitutes a line may not match yours.) When a line is read from a filehandle (via readline() or <> ), or when tell() or seek() is called on it, $. becomes an alias to the line counter for that filehandle. You can adjust the counter by assigning to $. , but this will not actually move the seek pointer

$-

$- The number of lines left on the page of the currently selected output channel. Mnemonic: lines_on_page - lines_printed.

$,

$, The output field separator for the print operator. If defined, this value is printed between each of print's arguments. Default is undef. You cannot call output_field_separator() on a handle, only as a static method. See IO::Handle. Mnemonic: what is printed when there is a "," in your print statement.

$+

$+ The text matched by the last bracket of the last successful search pattern. This is useful if you don't know which one of a set of alternative patterns matched. For example: /Version: (.*)|Revision: (.*)/ && ($rev = $+); This variable is read-only and dynamically-scoped. Mnemonic: be positive and forward looking.

$*

$* $* was a variable that you could use to enable multiline matching. After a deprecation cycle, its magic was removed in Perl v5.10.0. Using it now triggers a warning: $* is no longer supported. You should use the /s and /m regexp modifiers instead. Deprecated in Perl 5. Removed in Perl v5.10.0.

$)

$) The effective gid of this process. If you are on a machine that supports membership in multiple groups simultaneously, gives a space separated list of groups you are in. The first number is the one returned by getegid() , and the subsequent ones by getgroups() , one of which may be the same as the first number. Similarly, a value assigned to $) must also be a space-separated list of numbers. The first number sets the effective gid, and the rest (if any) are passed to setgroups() . To get th