5.18.1

名前

perlcheat - Perl 5 Cheat Sheet

perlcheat - Perl 5 チートシート

説明

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

この「チートシート」は Perl プログラミングの初心者のためのリファレンスです。 全てについて言及しているわけではありませんが、195 要素というのは 半端ではありません。

チートシート

  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
                         SYNTAX
  OPERATOR PRECEDENCE    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"
  << >>                   +          .        anything else
  named uops              == !=      eq ne
  < > <= >= lt gt le ge   < > <= >=  lt gt le ge
  == != <=> eq ne cmp ~~  <=>        cmp
  &
  | ^             REGEX MODIFIERS       REGEX METACHARS
  &&              /i case insensitive   ^      string begin
  || //           /m line based ^$      $      str end (bfr \n)
  .. ...          /s . includes \n      +      one or more
  ?:              /x ignore wh.space    *      zero or more
  = += last goto  /p preserve           ?      zero or one
  , =>            /a ASCII    /aa safe  {3,7}  repeat in range
  list ops        /l locale   /d  dual  |      alternation
  not             /u Unicode            []     character class
  and             /e evaluate /ee rpts  \b     word boundary
  or xor          /g global             \z     string end
                  /o compile pat once   ()     capture
  DEBUG                                 (?:p)  no capture
  -MO=Deparse     REGEX CHARCLASSES     (?#t)  comment
  -MO=Terse       .   [^\n]             (?=p)  ZW pos ahead
  -D##            \s  whitespace        (?!p)  ZW neg ahead
  -d:Trace        \w  word chars        (?<=p) ZW pos behind \K
                  \d  digits            (?<!p) ZW neg behind
  CONFIGURATION   \pP named property    (?>p)  no backtrack
  perl -V:ivsize  \h  horiz.wh.space    (?|p|p)branch reset
                  \R  linebreak         (?<n>p)named capture
                  \S \W \D \H negate    \g{n}  ref to named cap
                                        \K     keep left part
  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
  CONTEXTS  印        ref      配列          ハッシュ
  無効      $変数     SCALAR   @array        %hash
  スカラ    @配列     ARRAY    @array[0, 2]  @hash{'a', 'b'}
  リスト    %ハッシュ HASH     $array[0]     $hash{'a'}
            &関数     CODE     スカラ値
            *グロブ   GLOB     数値, 文字列, リファレンス,
                      FORMAT   グロブ, undef
  リファレンス
  \     リファレンス          $$foo[1]       は $foo->[1]
  $@%&* デリファレンス        $$foo{bar}     は $foo->{bar}
  []    無名配列ref           ${$$foo[1]}[2] は $foo->[1]->[2]
  {}    無名ハッシュref       ${$$foo[1]}[2] は $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                 数値    vs 文字列     偽 vs 真
  + - .                   =          =          undef, "", 0, "0"
  << >>                   +          .          それ以外全て
  名前付き単項演算子      == !=      eq ne
  < > <= >= lt gt le ge   < > <= >=  lt gt le ge
  == != <=> eq ne cmp ~~  <=>        cmp
  &
  | ^             正規表現修飾子        正規表現メタ文字
  &&              /i 大小文字無視       ^      文字列先頭
  || //           /m ^$ベースの行       $      文字列末尾;\nの前
  .. ...          /s .に\nを含む        +      1以上
  ?:              /x 空白を無視         *      0以上
  = += last goto  /p 保存               ?      0か1
  , =>            /a ASCII    /aa 安全  {3,7}  範囲の繰り返し
  list ops        /l ロケール /d  双方  |      または
  not             /u Unicode            []     文字クラス
  and             /e evalする /ee 反復  \b     単語境界
  or xor          /g グローバル         \z     文字列末尾
                  /o コンパイル1回      ()     捕捉
  DEBUG                                 (?:p)  捕捉しない
  -MO=Deparse     正規表現文字クラス    (?#t)  コメント
  -MO=Terse       .   [^\n]             (?=p)  ZW 正前方
  -D##            \s  空白              (?!p)  ZW 負前方
  -d:Trace        \w  単語文字          (?<=p) ZW 正後方 \K
                  \d  数字              (?<!p) ZW 負後方
  CONFIGURATION   \pP 名前付き特性      (?>p)  非バックトラック
  perl -V:ivsize  \h  水平空白          (?|p|p)枝リセット
                  \R  行分割            (?<n>p)名前付き捕捉
                  \S \W \D \H は逆      \g{n}  名前付き捕捉参照
                                        \K     左の部分を維持
  関数の返り値
  stat      localtime   caller        特殊変数
   0 dev    0 秒        0 package     $_    デフォルト変数
   1 ino    1 分        1 filename    $0    プログラム名
   2 mode   2 時        2 line        $/    入力セパレータ
   3 nlink  3 日        3 subroutine  $\    出力セパレータ
   4 uid    4 月-1      4 hasargs     $|    自動flush
   5 gid    5 年-1900   5 wantarray   $!    sys/libcallエラー
   6 rdev   6 曜日      6 evaltext    $@    evalエラー
   7 size   7 年の日数  7 is_require  $$    プロセスID
   8 atime  8 夏時間か  8 hints       $.    行番号
   9 mtime              9 bitmask     @ARGV コマンドライン引数
  10 ctime             10 hinthash    @INC  インクルードパス
  11 blksz              3..9はEXPR    @_    サブルーチン引数
  12 blcks              の時だけ      %ENV  環境変数

謝辞

The first version of this document appeared on Perl Monks, where several people had useful suggestions. Thank you, Perl Monks.

この文書の最初のバージョンは Perl Monks に現れ、何人かから有用な 提案を頂きました。 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.

重要な変更を提案してくれただけでなく、いくつの機能が載っているかを 数えてくれ、Perl が Perl のままであることを示すために Perl 6 版を 作ってくれた Damian Conway に特に感謝します。

作者

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

SEE ALSO