The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

НАЗВАНИЕ

perlcheat - Perl 5 Шпаргалка

ОПИСАНИЕ

Этот «шпаргалка» является удобным справочником, предназначенный для начинающих программистов на этом языке. Не все упомянутые, но уже 195 функций может быть подавляющим.

Таблица

  КОНТЕКСТЫ  СИГИЛЫ  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
  Ссылки
  \      ссылка       $$foo[1]       тоже, что и $foo->[1]
  $@%&*  dereference     $$foo{bar}     тоже, что и $foo->{bar}
  []     anon. arrayref  ${$$foo[1]}[2] aka $foo->[1]->[2]
  {}     anon. hashref   ${$$foo[1]}[2] aka $foo->[1][2]
  \()    ссылка на список
                         СИНТАКСИС
  ПРИОРИТЕТ ОПЕРАТОРОВ    foreach (LIST) { }     for (a;b;c) { }
  ->                     while   (e) { }        until (e)   { }
  ++ --                  if      (e) { } elsif (e) { } else { }
  **                     unless  (e) { } elsif (e) { } else { }
  ! ~ \ u+ u-            given   (e) { when (e) {} default {} }
  =~ !~
  * / % x                 NUMBERS vs STRINGS  FALSE vs TRUE
  + - .                   =          =        undef, "", 0, "0"
  << >>                   +          .        что-нибудь еще
  имени микрооперации (uops)              == !=      eq ne
  < > <= >= lt gt le ge   < > <= >=  lt gt le ge
  == != <=> eq ne cmp ~~  <=>        cmp
  &
  | ^             МОДИФИКАТОРЫ REGEX       МЕТАСИМВОЛЫ REGEX 
  &&              /i не чувствительно к регистру   ^      начало строки
  || //           /m основная линия ^$      $      str end (bfr \n)
  .. ...          /s . включает \n      +      один или более
  ?:              /x игнорировать пробелы    *      ноль или более
  = += last goto  /p сохранить           ?      ноль или один
  , =>            /a ASCII    /aa безопасно  {3,7}  повторить в диапазоне
  list ops        /l локаль   /d  dual  |      альтернатива
  not             /u Юникод            []     класс символов
  and             /e выполнить /ee rpts  \b     граница слова
  or xor          /g глобально             \z     конец строки
                  /o компиляции единожды   ()     захват
  ОТЛАДКА                                 (?:p)  не захватывать
  -MO=Deparse     КЛАСССИМВОЛОВ REGEX     (?#t)  комментарий
  -MO=Terse       .   [^\n]             (?=p)  ZW позиция впереди
  -D##            \s  пробел        (?!p)  ZW  отр впереди
  -d:Trace        \w  символы слова        (?<=p) ZW поз позади \K
                  \d  цифры            (?<!p) ZW отр позади
  КОНФИГУРАЦИЯ   \pP именованное свойство    (?>p)  не возвращаться назад
  perl -V:ivsize  \h  горизонт пробелы    (?|p|p)сброс ветки
                  \R  перенос строки         (?<n>p)именованный захват
                  \S \W \D \H отрицать    \g{n}  ссылка на имени крышкой (cap)
                                        \K     держать левую часть
  СПИСКИ ВОЗВРАТОВ ФУНКЦИЙ
  stat      localtime    caller         СПЕЦИАЛЬНЫЕ ПЕРЕМЕННЫЕ
   0 dev    0 second      0 package     $_    переменная по умолчанию
   1 ino    1 minute      1 filename    $0    имя файла программы
   2 mode   2 hour        2 line        $/    входной разделитель
   3 nlink  3 day         3 subroutine  $\    выходной разделитель
   4 uid    4 month-1     4 hasargs     $|    autoflush (сбрасывание буфера)
   5 gid    5 year-1900   5 wantarray   $!    ошибки системы/или вызова lib 
   6 rdev   6 weekday     6 evaltext    $@    eval error
   7 size   7 yearday     7 is_require  $$    ID процесса
   8 atime  8 is_dst      8 hints       $.    номер строки
   9 mtime                9 bitmask     @ARGV аргументы командной строки
  10 ctime               10 hinthash    @INC  включенные пути
  11 blksz               3..10 only     @_    аргументы подпрограммы
  12 blcks               with EXPR      %ENV  переменные среды

БЛАГОДАРНОСТЬ

Первая версия этого документа появился на Perl Monks, где несколько человек делали полезные предложения. Спасибо, Perl Monks.

Особая благодарность Дамиан Конвей, который не только предложил важные изменения, но и нашел время, чтобы подсчитать количество перечисленных особенностей и сделать версии Perl 6, чтобы показать, что Perl останется Perl.

АВТОР

Juerd Waalboer <#####@juerd.nl>, с помощью многих Perl Monks.

СМОТРИТЕ ТАКЖЕ

ПЕРЕВОДЧИКИ

  • Николай Мишин (mi at ya ru)