\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5×\D6?\BDê\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2€ \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4ê\E9\F2á\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /usr/share/perl5/pod/

Viewing File: perlcheat.pod

=head1 NAME

perlcheat - Perl 5 Cheat Sheet

=head1 DESCRIPTION

This 'cheat sheet' is a handy reference, meant for beginning Perl
programmers. Not everything is mentioned, but 195 features may
already be overwhelming.

=head2 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
                                           \S \W \D \H negate
  FUNCTION RETURN LISTS
  stat      localtime    caller         SPECIAL VARIABLES
   0 dev    0 second      0 package     $_    default variable
   1 ino    1 minute      1 filename    $0    program name
   2 mode   2 hour        2 line        $/    input separator
   3 nlink  3 day         3 subroutine  $\    output separator
   4 uid    4 month-1     4 hasargs     $|    autoflush
   5 gid    5 year-1900   5 wantarray   $!    sys/libcall error
   6 rdev   6 weekday     6 evaltext    $@    eval error
   7 size   7 yearday     7 is_require  $$    process ID
   8 atime  8 is_dst      8 hints       $.    line number
   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

=head1 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.

=head1 AUTHOR

Juerd Waalboer <#####@juerd.nl>, with the help of many Perl Monks.

=head1 SEE ALSO

=over 4

=item *

L<http://perlmonks.org/?node_id=216602> - the original PM post

=item *

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

=item *

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

=back