perlcheat


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             ARRAYS        HASHES
         void      $scalar   whole:   @array        %hash
         scalar    @array    slice:   @array[0, 2]  @hash{'a', 'b'}
         list      %hash     element: $array[0]     $hash{'a'}
                   &sub
                   *glob    SCALAR VALUES
                            number, string, reference, glob, undef
         REFERENCES
         \     references      $$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     =          =        perl.plover.com
         ->                      +          .        search.cpan.org
         ++ --                   == !=      eq ne         cpan.org
         **                      < > <= >=  lt gt le ge   pm.org
         ! ~ \ u+ u-             <=>        cmp           tpj.com
         =~ !~                                            perldoc.com
         * / % x                 SYNTAX
         + - .                   for    (LIST) { }, for (a;b;c) { }
         << >>                   while  ( ) { }, until ( ) { }
         named uops              if     ( ) { } elsif ( ) { } else { }
         < > <= >= lt gt le ge   unless ( ) { } elsif ( ) { } else { }
         == != <=> eq ne cmp ~~  for equals foreach (ALWAYS)
         &
         | ^              REGEX METACHARS            REGEX MODIFIERS
         &&               ^     string begin         /i case insens.
         || //            $     str. end (before \n) /m line based ^$
         .. ...           +     one or more          /s . includes \n
         ?:               *     zero or more         /x ign. wh.space
         = += -= *= etc.  ?     zero or one          /g global
         , =>             {3,7} repeat in range      /o cmpl pat. once
         list ops         ()    capture
         not              (?:)  no capture       REGEX CHARCLASSES
         and              []    character class  .  == [^\n]
         or xor           |     alternation      \s == whitespace
                          \b    word boundary    \w == word characters
                          \z    string end       \d == digits
         DO                                      \S, \W and \D negate
         use strict;        DON'T
         use warnings;      "$foo"           LINKS
         my $var;           $$variable_name  perl.com
         open() or die $!;  `$userinput`     use.perl.org
         use Modules;       /$userinput/     perl.apache.org

         10 ctime  just use                    @INC  include paths
         11 blksz  POSIX::      3..9 only      @_    subroutine args
         12 blcks  strftime!    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
       o   <http://perlmonks.org/?node_id=216602> - the original PM post

       o   <http://perlmonks.org/?node_id=238031> - Damian Conway's Perl 6
           version

       o   <http://juerd.nl/site.plp/perlcheat> - home of the Perl Cheat Sheet



perl v5.14.2                      2011-09-26                      PERLCHEAT(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017 Hurricane Electric. All Rights Reserved.