Search results
Results from the WOW.Com Content Network
Originally, filehandles could only be created with package variables, using the ALL_CAPS convention to distinguish it from other variables. Perl 5.6 and newer also accept a scalar variable, which will be set (autovivified) to a reference to an anonymous filehandle, in place of a named filehandle.
Perl 5.6.1 and newer support autovivification of file and directory handles. [3] Calling open() on an undefined variable will set it to a filehandle. According to perl561delta, "[t]his largely eliminates the need for typeglobs when opening filehandles that must be passed around, as in the following example:
System functions (previously known as global variables) are distinguished by a "@@" prefix. The scope of temporary tables is indicated by the prefix "#" designating local and "##" designating global. In Windows PowerShell, which was partly inspired by Unix shells and Perl, variable names are prefixed by the "$" sigil.
for VAR in ENUMERABLE [where CONDITION] get EXPR for VAR in ENUMERABLE where CONDITION Note that by putting the condition and expression after the variable name and enumerable object, editors and IDEs can provide autocompletion on the members of the variable.
#!usr/bin/perl – called the "shebang line", after the hash symbol (#) and ! (bang) at the beginning of the line. It is also known as the interpreter directive. # – the number sign, also called the hash symbol. In Perl, the # indicates the start of a comment. It instructs perl to ignore the rest of the line and not execute it as script code.
Perl takes some cues from its C heritage for conventions. Locally scoped variables and subroutine names are lowercase with infix underscores. Subroutines and variables meant to be treated as private are prefixed with an underscore. Package variables are title cased. Declared constants are all caps.
Perl provides three loop control keywords that all accept an optional loop label as an argument. If no label is specified, the keywords act on the innermost loop. Within nested loops, the use of labels enables control to move from an inner loop to an outer one, or out of the outer loop altogether.
A hash variable is marked by a % sigil, to distinguish it from scalar, array, and other data types. A hash literal is a key-value list, with the preferred form using Perl's => token, which is semantically mostly identical to the comma and makes the key-value association clearer: