perlcheat - Perl 5 チートシート
この「チートシート」は Perl プログラミングの初心者のためのリファレンスです。 全てについて言及しているわけではありませんが、195 要素というのは 半端ではありません。
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 /xx 空白を無視 * 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 環境変数
この文書の最初のバージョンは Perl Monks に現れ、何人かから有用な 提案を頂きました。 Perl Monks、ありがとう。
重要な変更を提案してくれただけでなく、いくつの機能が載っているかを 数えてくれ、Perl が Perl のままであることを示すために Raku 版を 作ってくれた Damian Conway に特に感謝します。
Juerd Waalboer <#####@juerd.nl>, with the help of many Perl Monks.
https://perlmonks.org/?node_id=216602 - the original PM post
https://perlmonks.org/?node_id=238031 - Damian Conway's Raku version
https://juerd.nl/site.plp/perlcheat - home of the Perl Cheat Sheet