5.14.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             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
  CONTEXTS  印                 配列          ハッシュ
  無効      $変数     全体:    @array        %hash
  スカラ    @配列     スライス @array[0, 2]  @hash{'a', 'b'}
  リスト    %ハッシュ 要素:    $array[0]     $hash{'a'}
            &関数
            *グロブ  スカラ値     
                     数値, 文字列, リファレンス, グロブ, undef
  リファレンス
  \     リファレンス          $$foo[1]       は $foo->[1]
  $@%&* デリファレンス        $$foo{bar}     は $foo->{bar}
  []    無名配列ref           ${$$foo[1]}[2] は $foo->[1]->[2]
  {}    無名ハッシュref       ${$$foo[1]}[2] は $foo->[1][2]
  \()   リストのリファレンス
                          数値    vs 文字列   リンク
  演算子の優先順位        =          =        perl.plover.com
  ->                      +          .        search.cpan.org
  ++ --                   == !=      eq ne         cpan.org
  **                      < > <= >=  lt gt le ge   pm.org
  ! ~ \ u+ u-             <=>        cmp           tpj.com
  =~ !~                                            perldoc.com
  * / % x                 文法
  + - .                   for    (LIST) { }, for (a;b;c) { }
  << >>                   while  ( ) { }, until ( ) { }
  名前付き単項演算子      if     ( ) { } elsif ( ) { } else { }
  < > <= >= lt gt le ge   unless ( ) { } elsif ( ) { } else { }
  == != <=> eq ne cmp ~~  for と foreach は「いつでも」同じ
  &
  | ^              正規表現メタ文字           正規表現修飾子
  &&               ^     文字列先頭           /i 大小文字無視
  || //            $     文字列末尾(\nの前)   /m ^$ベースの行
  .. ...           +     1以上                /s .に\nを含む
  ?:               *     0以上                /x 空白を無視
  = += -= *= etc.  ?     0か1                 /g グローバル
  , =>             {3,7} 範囲の繰り返し       /o コンパイル一回
  リスト演算子     ()    後方参照
  not              (?:)  後方参照しない   正規表現文字クラス
  and              []    文字クラス       .  == [^\n]
  or xor           |     または           \s == 空白
                   \b    単語境界         \w == 単語文字
                   \z    文字列末尾       \d == 数字
  しよう                                  \S, \W, \D はその逆
  use strict;        するな
  use warnings;      "$foo"           リンク
  my $var;           $$variable_name  perl.com
  open() or die $!;  `$userinput`     use.perl.org
  use Modules;       /$userinput/     perl.apache.org
  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  just use                    @INC  include paths
  11 blksz  POSIX::      3..9 only      @_    subroutine args
  12 blcks  strftime!    with EXPR      %ENV  environment
  関数の返り値
  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  POSIX::                   @INC  インクルードパス
  11 blksz  strftime    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