演算子とは、計算や比較を行う際に利用される識別子の事です。
Perlには例えば下記のような演算子があります。
Perlの数値計算に用いる加減乗除や余りを求める演算子には次のようなものがあります。
+ | 加算・足す |
---|---|
- | 減算・引く |
* | 乗算・掛ける |
/ | 除算・割る |
Perlで数値や文字を代入したり、比較したりする際に利用できる演算子には次のようなものがあります。
数値 | 文字 | 意味 |
---|---|---|
= | = | 代入/左辺に右辺を代入/substitution |
== | eq | 等しい(イコール2つ)/equal |
!= | ne | 等しくない/not equal |
< | lt | (左辺は右辺)より小さい/less than |
> | gt | (左辺は右辺)より大きい/greater than |
<= | le | (左辺は右辺)より小さいか、等しい/less than or equal |
>= | ge | (左辺は右辺)より大きいか、等しい/greater than or equal |
<=> | cmp | 左辺が右辺より小さい時-1、等しい時0、左辺が右辺より大きい時1 /compare |
Perlで文字列同士を結合する演算子には次のようなものがあります。
. | ピリオド・ドット記号1つ/[$s=abc . def]の$sの値は[abcdef] |
---|
Perlで範囲を表す演算子には次のようなものがあります。
.. | ピリオド・ドット記号2つ |
---|
これを使ってPerlではfor( 1 .. 10 ){ }のように記述することもできます。
代入演算子は多くの演算子と併用することができます。
+= | $a += 1; | $a = $a + 1; |
---|---|---|
-= | $a -= 1; | $a = $a - 1; |
.= | $a .= "\n"; | $a = $a . "\n"; |
...etc. |
Perlの論理演算子には次のようなものがあります。
&& | and |
---|---|
|| | or |
! | 否定 |
Perlでは正規表現、パターンマッチを利用することができ、パターンマッチで利用できる変換演算子[tr][y]、置換演算子[s]があります。
Perlには次のようなファイルテスト演算子があります。
Perl 5 version 14.1 | |
---|---|
-r | ファイルが読み込み可能か否か(実効uid/gidで) |
-w | ファイルが書き込み可能か否か(実効uid/gidで) |
-x | ファイルが実行可能か否か(実効uid/gidで) |
-o | ファイルが所有されているか否か(実効uidで) |
-R | ファイルが読み込み可能か否か(実際のuid / gidで) |
-W | ファイルが書き込み可能か否か(実際のuid/gidで) |
-X | ファイルが実行可能か否か(実際のuid/gidで) |
-O | ファイルが所有されているか否か(実際のuidで) |
-e | ファイルが存在するか否か |
-z | ファイルサイズがゼロ(ファイルがカラ)か否か |
-s | ファイルが非ゼロ(バイト単位のサイズを返す)か否か |
-f | ファイルが普通のファイルか否か |
-d | ファイルがディレクトリか否か |
-l | ファイルがシンボリックリンクか否か |
-p | ファイルが名前付きパイプ(FIFO)またはファイルハンドルがパイプか否か |
-S | ファイルがソケットか否か |
-b | ファイルがブロック型特殊ファイルか否か |
-c | ファイルが文字型特殊ファイルか否か |
-t | ファイルハンドルが端末(tty)によって開かれているか否か |
-u | ファイルがsetuidビットセットを持つか否か |
-g | ファイルがsetgidビットセットを持つか否か |
-k | ファイルがstickyビットセットを持つか否か |
-T | ファイルがASCIIテキストファイルか否か(heuristic guess) |
-B | ファイルがバイナリ/binaryファイルか否か(-Tの反対) |
-M | 日単位でスクリプト実行開始時刻からファイル修正時刻を引いたものか否か |
-A | アクセス時間が同じか否か |
-C | inode変更時間が同じか否か(UNIXは他のプラットフォームと異なる場合がある) |