演算子


算術演算子
演算子 記述例 内容
+ $a + 1 $aを1増やす
- $a - 1 $aを1減らす
* $a * $b $aと$bの積
/ $a / $b $aと$bの商
% $a % $b $aを$bで割った余り
** $a ** $b $aを$b乗する
+= $a += 10 $aに10を足す
-= $a -= 10 $aから10を引く
*= $a *= 10 $aに10を掛ける
/= $a /= 10 $aを10で割る
%= $a %= 10 $aを10で割った余りで$aを書き直す
**= $a **= 10 $aを10乗する
++ ++$a インクリメント $aを1増やす
-- --$a デクリメント $aを1減らす
sqrt sqrt(2) 2の平方根を求める

文字列演算子
演算子 記述例 内容
. - 文字列を結合する
.= - 変数の末尾に文字列をくっつける
x 文字列 x 5 文字列を指定回数だけ繰り返す

数値の比較演算子
  • 制御文で使用する条件文などを書く
演算子 記述例 内容
< $x < 4 $xが4より小さいなら真
$x > 4 $xが4より大きいなら真
<= $x <= 4 $xが4以下なら真
>= $x >= 4 $xが4以上なら真
== $x == $y $xが$yと等しいなら真
!= $x != $y $xが$yと等しくないなら真
<=> $x <=> $y 等しければ0 $xが大きければ1 $yが大きければ-1

文字列の比較演算子
  • 制御文で使用する条件文などを書く
演算子 記述例 内容
lt $x lt "a" $xが"a"より小さいなら真
gt $x gt "a" $xが"a"より大きいなら真
le $x le "a" $xが"a"以下なら真
ge $x ge "a" $xが"a"以上なら真
eq $x eq $y $xが$yと等しいなら真
ne $x ne $y $xが$yと等しくないなら真
cmp $x <=> $y 等しければ0 $xが大きければ1 $yが大きければ-1
※文字列は辞書順で後に出てくるほうが大きいとみなす。数字よりは文字のほうが大きい。大文字より小文字のほうが大きい。

論理演算子
演算子 記述例 内容
&& $a && $b 論理積 $aが偽なら$a ちがうなら$b
and $a and $b 論理積 $aが偽なら$a ちがうなら$b
縦棒2コ $a 縦棒2コ $b 論理和 $aが真なら$a ちがうなら$b
or $a or $b 論理和 $aが真なら$a ちがうなら$b
! ! $a 否定 $aが偽なら真
not not $a 否定 $aが偽なら真
xor $a xor $b 排他的論理和 $aか$bの片方だけが真なら真

マッチ演算子
  • デフォルト変数を対象にパターンマッチを行う
  • デフォルト変数以外を扱いたいときは $a =~ /パターン/ と記述する。
記述例 内容
/パターン/ 変数$_がパターンの一部に一致すれば真
/パターン/i 大文字小文字を無視する
s/置換前/置換後/ マッチする文字列を一回だけ置換する
s/置換前/置換後/g マッチする文字列を全て置換する
s/削除対象//g マッチする文字列を削除
/(パターン)/ ()内を変数$1..に格納
tr/xy/yx/ 特定の文字と特定の文字を変換する(x→y,y→x)
tr/a-z/A-Z/ 上の応用 小文字→大文字
※主に正規表現を利用してパターンマッチを行う。正規表現の機能をなくして文字列とみなす場合は記号の前に\を付与する。

ファイルチェック演算子
  • 制御文などでファイルの属性をチェックする。
記述例 内容
-e ファイル名 指定したファイルが存在すれば真
-r ファイル名 指定したファイルを読むことができれば真
-w ファイル名 指定したファイルに書くことができれば真
-f ファイル名 指定したファイルが存在し一般ファイルなら真
-d ファイル名 指定したファイルが存在しディレクトリなら真
-T ファイル名 指定したファイルが存在しテキストファイルなら真
-B ファイル名 指定したファイルが存在しバイナリファイルなら真


¥エスケープ
  • 演算子じゃないけどここに書きます
使用記号 内容
\n 改行(newline)
\r 復帰(return)
\t タブ(tab)
\f 改ページ(formfeed)
\b バックスペース(backspace)
\a ベル(bell)
\e エスケープ(escape),ASCIIのエスケープ文字
\007 8進数でASCIIコードを指定(←は007=ベル)
\x7f 16進数でASCIIコードを指定(←は7f=削除文字)
\cC コントロール文字(←はコントロールC)
\l 次の一文字を小文字にする
\L これ以降\Eまで小文字にする
\u 次の一文字を大文字にする
\U これ以降\Eまでを大文字にする
\Q これ以降\Eまでの全ての非単語構成文字の前に\を挿入する
\E \L,\U,\Qの効果を終了させる
最終更新:2007年02月22日 12:55