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]
\() リストのリファレンス
数値 vs 文字列 リンク
演算子の優先順位 = = perldoc.perl.org
-> + . search.cpan.org
++ -- == != eq ne cpan.org
** < > <= >= lt gt le ge pm.org
! ~ \ u+ u- <=> cmp p3rl.org
=~ !~ perlmonks.org
* / % x 文法
+ - . foreach (LIST) { } for (a;b;c) { }
<< >> while (e) { } until (e) { }
名前付き単項演算子 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
&& ^ 文字列先頭 /i 大小文字無視
|| // $ 文字列末尾(\nの前) /m ^$ベースの行
.. ... + 1以上 /s .に\nを含む
?: * 0以上 /x 空白を無視
= += -= *= etc ? 0か1 /p 保存
, => {3,7} 範囲の繰り返し /a ASCII /aa 安全
list ops | または /l ロケール /d 双方
not [] 文字クラス /u Unicode
and \b 単語境界 /e evalする /ee 反復
or xor \z 文字列末尾 /g グローバル
() 捕捉 /o コンパイル1回
DEBUG (?:p) 捕捉しない
-MO=Deparse (?#t) コメント 正規表現文字クラス
-MO=Terse (?=p) ZW 正前方 . [^\n]
-D## (?!p) ZW 負前方 \s 空白
-d:Trace (?<=p) ZW 正後方 \K \w 単語文字
(?<!p) ZW 負後方 \d 数字
CONFIGURATION (?>p) 非バックトラック \pP 名前付き特性
perl -V:ivsize (?|p|p)枝リセット \h 水平空白
(?&NM) 名前つき捕捉 \R 行分割
\S \W \D \H は逆
関数の返り値
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 のままであることを示すために Perl 6 版を 作ってくれた Damian Conway に特に感謝します。
Juerd Waalboer <#####@juerd.nl>, with the help of many Perl Monks.
http://perlmonks.org/?node_id=216602 - the original PM post
http://perlmonks.org/?node_id=238031 - Damian Conway's Perl 6 version
http://juerd.nl/site.plp/perlcheat - home of the Perl Cheat Sheet