$xx = 5 + 2; # 足し算 $xx = 5 - 2; # 引き算 $xx = 5 * 2; # 掛け算 $xx = 5 / 2; # 割り算 $xx = 5 % 2; # 5を2で割った余り(=1) $xx = 5 ** 2; # 5の2乗(=25) $xx++; # $xxの値が1加算される(加算前の値を返す) $xx--; # $xxの値が1減算される(減算前の値を返す) ++$xx; # $xxの値が1加算される(加算後の値を返す) --$xx; # $xxの値が1減算される(減算後の値を返す) $xx += 2; # $xx = $xx + 2 と同じ $xx -= 2; # $xx = $xx - 2 と同じ $xx *= 2; # $xx = $xx * 2 と同じ $xx /= 2; # $xx = $xx / 2 と同じ $xx %= 2; # $xx = $xx % 2 と同じ $xx **= 2; # $xx = $xx ** 2; と同じ
if ($xx == $yy) # $xx と $yy が等しければ if ($xx != $yy) # $xx と $yy が異なっていれば if ($xx < $yy) # $xx が $yy より小さければ if ($xx > $yy) # $xx が $yy より大きければ if ($xx <= $yy) # $xx が $yy 以下であれば if ($xx >= $yy) # $xx が $yy 以上であれば if ($xx <=> $yy) # 比較結果を -1, 0, 1 のいずれかで返す
$xx = ($a < 5) ? "OK" : "NG"; # $a が 5以下なら "OK" さもなくば "NG"
$xx = "AAA" . "BBB"; # 文字列を連結する $xx = "ABC" x 3; # $xx には "ABCABCABC" が代入される
if ($xx eq $yy) # $xx と $yy が等しければ(EQual) if ($xx ne $yy) # $xx と $yy が異なっていれば(Not Equal) if ($xx lt $yy) # $xx が $yy より小さければ(Less Than) if ($xx gt $yy) # $xx が $yy より大きければ(Grater Than) if ($xx le $yy) # $xx が $yy 以下であれば(Less or Equal) if ($xx ge $yy) # $xx が $yy 以上であれば(Grator or Equal) if ($xx cmp $yy) # 比較結果を -1, 0, 1 のいずれかで返す(COMpare) if ($xx =~ /ABC/) # $xx が正規表現 ABC とマッチすれば if ($xx !~ /ABC/) # $xx が正規表現 ABC とマッチしなければ
if (($xx == 2) && ($yy == 3)) # $xx が 2、かつ、$yy が 3 であれば if (($xx == 2) || ($yy == 3)) # $xx が 2、もしくは、$yy が 3 であれば if (!($xx == 2)) # $xx が 2 でなければ if (($xx == 2) and ($yy == 3)) # $xx が 2、かつ、$yy が 3 であれば if (($xx == 2) or ($yy == 3)) # $xx が 2、もしくは、$yy が 3 であれば if (not ($xx == 2)) # $xx が 2 でなければ
&& は 論理積(AND)、|| は 論理和(OR)、! は 否定(NOT)を意味します。
$xx | $yy # $xx と $yy の論理和(OR) $xx & $yy # $xx と $yy の論理積(AND) $xx ^ $yy # $xx と $yy の排他的論理輪(XOR) $xx |= $yy; # $xx = $xx | $yy と同じ $xx &= $yy # $xx = $xx & $yy と同じ $xx ^= $yy # $xx = $xx ^ $yy と同じ ~$xx # $xx のビットをすべて反転させたもの $xx << 2 # $xx を2ビット左シフト $xx >> 2 # $xx を2ビット右シフト(上位には符号ビットを埋める)
if (-r $file) # 読み込み可能であれば if (-w $file) # 書き込み可能であれば if (-x $file) # 実行可能であれば if (-o $file) # 自分のものであれば if (-R $file) # 実uid/gidで読み込み可能であれば(UNIX) if (-W $file) # 実uid/gidで書き込み可能であれば(UNIX) if (-X $file) # 実uid/gidで実行可能であれば(UNIX) if (-O $file) # 実uidのものであれば(UNIX) if (-e $file) # 存在すれば if (-z $file) # サイズが0であれば if (-s $file) # サイズが0でなければ(ファイルサイズを返す) if (-f $file) # 通常ファイルであれば if (-d $file) # ディレクトリであれば if (-l $file) # シンボリックリンクであれば(UNIX) if (-p $file) # 名前付きパイプであれば(UNIX) if (-S $file) # ソケットであれば(UNIX) if (-b $file) # ブロック型スペシャルファイルであれば(UNIX) if (-c $file) # キャラクタ型スペシャルファイルであれば(UNIX) if (-t $file) # tty としてオープンされていれば(UNIX) if (-u $file) # setuidビットが立っていれば(UNIX) if (-g $file) # setgifビットが立っていれば(UNIX) if (-k $file) # stickyビットが立っていれば(UNIX) if (-T $file) # ファイルがテキストファイルであれば if (-B $file) # ファイルがバイナリファイルであれば if (-M $file) # ファイルの更新時刻がこのプログラム起動時より古ければ if (-A $file) # ファイルの参照時刻がこのプログラム起動時より古ければ if (-C $file) # ファイルの作成時刻がこのプログラム起動時より古ければ