Proměnné ======== $skalar @pole $pole[0], $pole[-1] $#pole %hash $hash{'brum'} $hash{brum} @pole[1,2,3] @hash{'a', 'b'} %pole[1,2,3] %hash{'a', 'b'} <-- Perl 5.20+ ${skalar} Deklarace ========= my $x; my $x = 5; my $x = $x + 1; <-- pravá strana odkazuje na předešlou proměnnou $x my ($x, $y, $z); $a = my $b; our $x; local $x = 1; Modifikátory za příkazem ======================== if EXPR unless EXPR while EXPR until EXPR when EXPR for/foreach LIST Řídicí konstrukce ================= if (EXPR) BLOCK [elsif (EXPR) BLOCK ...] [else BLOCK] -> podmínka je false, pokud je to undef, 0, "0", "" nebo (); jinak true unless (EXPR) BLOCK ... [LABEL:] while (EXPR) BLOCK [continue BLOCK] [LABEL:] until (EXPR) BLOCK [continue BLOCK] [LABEL:] for (E1; E2; E3) BLOCK [LABEL:] for/foreach [VAR] (LIST) BLOCK [continue BLOCK] -> pozor na viditelnost proměnné, automaticky se lokalizuje! -> pozor, nekopíruje, nýbrž vytváří aliasy! [LABEL:] BLOCK [continue BLOCK] next [LABEL] last [LABEL] redo [LABEL] goto LABEL goto EXPR <-- výsledkem je jméno labelu