名前¶
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¶
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