Mass Deface
:
$ for scalar values (number, string or reference)
@ for arrays
% for hashes (associative arrays)
& for subroutines (aka functions, procedures, methods)
* for all types of that symbol name. In version 4 you used them like
pointers, but in modern perls you can just use references.
There are a couple of other symbols that
you're likely to encounter that aren't
really type specifiers:
<> are used for inputting a record from a filehandle.
\ takes a reference to something.
Note that is I the type specifier for files
nor the name of the handle. It is the C<< <> >> operator applied
to the handle FILE. It reads one line (well, record--see
L>) from the handle FILE in scalar context, or I lines
in list context. When performing open, close, or any other operation
besides C<< <> >> on files, or even when talking about the handle, do
I use the brackets. These are correct: C, C and "copying from STDIN to FILE".
=head2 Do I always/never have to quote my strings or use semicolons and commas?
Normally, a bareword doesn't need to be quoted, but in most cases
probably should be (and must be under C