PERLCHEAT(1) Perl Programmers Reference Guide PERLCHEAT(1) NAME perlcheat - Perl 5 Cheat Sheet DESCRIPTION This 'cheat sheet' is a handy reference, meant for beginning Perl programmers. Not everything is mentioned, but 195 features may already be overwhelming. The sheet CONTEXTS SIGILS ref ARRAYS HASHES void $scalar SCALAR @array %hash scalar @array ARRAY @array[0, 2] @hash{'a', 'b'} list %hash HASH $array[0] $hash{'a'} &sub CODE *glob GLOB SCALAR VALUES FORMAT number, string, ref, glob, undef REFERENCES \ reference $$foo[1] aka $foo->[1] $@%&* dereference $$foo{bar} aka $foo->{bar} [] anon. arrayref ${$$foo[1]}[2] aka $foo->[1]->[2] {} anon. hashref ${$$foo[1]}[2] aka $foo->[1][2] \() list of refs NUMBERS vs STRINGS LINKS OPERATOR PRECEDENCE = = perldoc.perl.org -> + . search.cpan.org ++ -- == != eq ne cpan.org ** < > <= >= lt gt le ge pm.org ! ~ \ u+ u- <=> cmp p3rl.org =~ !~ perlmonks.org * / % x SYNTAX + - . foreach (LIST) { } for (a;b;c) { } << >> while (e) { } until (e) { } named uops if (e) { } elsif (e) { } else { } < > <= >= lt gt le ge unless (e) { } elsif (e) { } else { } == != <=> eq ne cmp ~~ given (e) { when (e) {} default {} } & | ^ REGEX METACHARS REGEX MODIFIERS && ^ string begin /i case insensitive || // $ str end (bfr \n) /m line based ^$ .. ... + one or more /s . includes \n ?: * zero or more /x ignore wh.space = += -= *= etc ? zero or one /p preserve , => {3,7} repeat in range /a ASCII /aa safe list ops | alternation /l locale /d dual not [] character class /u Unicode and \b word boundary /e evaluate /ee rpts or xor \z string end /g global () capture /o compile pat once DEBUG (?:p) no capture -MO=Deparse (?#t) comment REGEX CHARCLASSES -MO=Terse (?=p) ZW pos ahead . [^\n] -D## (?!p) ZW neg ahead \s whitespace -d:Trace (?<=p) ZW pos behind \K \w word chars (?<!p) ZW neg behind \d digits CONFIGURATION (?>p) no backtrack \pP named property perl -V:ivsize (?|p|p)branch reset \h horiz.wh.space (?&NM) cap to name \R linebreak 9 mtime 9 bitmask @ARGV command line args 10 ctime 10 hinthash @INC include paths 11 blksz 3..10 only @_ subroutine args 12 blcks with EXPR %ENV environment ACKNOWLEDGEMENTS The first version of this document appeared on Perl Monks, where several people had useful suggestions. Thank you, Perl Monks. A special thanks to Damian Conway, who didn't only suggest important changes, but also took the time to count the number of listed features and make a Perl 6 version to show that Perl will stay Perl. AUTHOR Juerd Waalboer <#####@juerd.nl>, with the help of many Perl Monks. SEE ALSO · <http://perlmonks.org/?node_id=216602> - the original PM post · <http://perlmonks.org/?node_id=238031> - Damian Conway's Perl 6 version · <http://juerd.nl/site.plp/perlcheat> - home of the Perl Cheat Sheet perl v5.16.3 2013-03-04 PERLCHEAT(1)