初めてのPerl 第6版メモ。後で思い出せる程度に。
2.1 数値
2.1.4 10進数以外の整数リテラル
- 8進数:0から始める
- 16進数:0xから始める
- 2進数:0bから始める
2.1.5 数値演算子
- 四則演算:+, -, *, /
- べき:**
- 剰余:%
2.2 文字列
- unicodeを使いたい:use utf8
2.2.2 ダブルクォート文字列リテラル
2.2.3 文字列演算子
- .:結合
- x:繰り返し(e.g. "hello" x 3 → "hellohellohello")
- 繰り返し回数は切り捨てによって整数に変換されてから評価される。
2.4 スカラー変数
- $の後ろにPerl識別子を付けたもの
- Perl識別子:英文字または下線で始まり、その後ろに英文字、数字、下線を並べたもの。大文字と小文字は区別される。
- utf8プラグマを有効にすれば広範囲の文字を識別子に使える。
2.4.2 スカラーの代入
- 代入は=で行う。
2.5 printによる出力
- コンマで区切って複数の値を渡せる(実際にはリストである)。
2.5.1 スカラー変数を文字列の中に展開する
2.5.2 コードポイントで文字を生成する
- コードポイント→文字:chr( 0x05D0 );
- 文字→コードポイント:ord( 'א' );
- 文字列中で直接指定:\x{03B1}
2.6 if制御構造
if( hoge ){ ... } else { ... }
- コードブロックは必ずブレースで囲むこと。
2.6.1 ブール値
- ブール型は存在しない。
- 数値は0のみ偽。
- 文字列は空文字列のみ偽。
- 否定演算子!は重ねられる。
2.7 ユーザからの入力を受け取る
:標準入力から次の一行を読み込んで の値として返す。 - 通常はキーボードからの入力となり、改行を入力するまでプログラムは停止する。
- 通常、一行は改行で終わるので改行文字を最後に含む。
2.8 chomp演算子
2.9 while制御機構
$count = 0; while ($count < 10) { $count += 2; ... }
2.10 未定義値
- undef:値が代入されるまでのスカラー変数に入っている値。
- 数値としては0扱い。
- 文字列としては空文字列扱い。
2.11 defined関数
はファイルの終わりまで読むとundefを返す。 - defined関数:undefのとき偽、それ以外で真。
- undef演算子:undefを返す。