演算子

算術計算

用途 演算子
加算 +
減算 -
乗算 *
除算 /

それが文字でも、数値として解釈できるならば数値として演算されます。さもなくばその項は無視されます。

print 1+2;     # 3
print '1'+'2'; # 3

print '1'+'a'; # 1 Argument "a" isn't numeric in addition (+)

比較

条件 演算子
数値 文字列
同等
equality
== eq
不等
inequality
!= ne
より小さい
less than
< lt
より大きい
greater than
> gt
以下
less than or equal
<= le
以上
greater than or equal
>= ge

文字列の比較には、文字列用の演算子を用います。これに従わず、

if( $a == 'x' )

のようにすると、「Argument "x" isn't numeric in numeric eq (==)」と警告されます。

真偽値

条件 演算子
AND && and
OR || or
NOT ! not

論理演算子には2種類あります。「&&」とそれに対応する「and」がそれですが、これらは優先順位に違いがあります。論理定義性和 - perlop - Perl の演算子と優先順位 - perldoc.jp

その他

用途 演算子
代入 =
文字列結合 .
文字列乗算 x
範囲演算子 ..

代入演算子 (Assignment Operators)

演算子
%=
&&=
&=
*=
**=
+=
-=
.=
/=
<<=
>>=
^=
x=
|=
||=

リスト演算子 (List Operators)

リスト演算子は、複数の引数を取る関数の一種です。これには、

  • リスト演算子 (左方向)
  • リスト演算子 (右方向)

の2種類があり、これらは引数の優先順位が異なります。そしてリスト演算子では、複数の引数をカンマで区切ります。

正規表現演算子 (Rgex Operators)

演算子 書式  
qr//
qr/STRING/msixpodualn
STRINGを正規表現として引用し、可能ならばコンパイルします。
m//
m/PATTERN/msixpodualngc
/PATTERN/msixpodualngc
PATTERNで文字列を検索します。見つかった場合はtrueを、さもなくばfalseを返します。
s///
s/PATTERN/REPLACEMENT/msixpodualngcer
PATTERNで文字列を検索し、見つかればREPLACEMENTで置換します。置換した場合は数を、さもなくば空文字列を返します。

クォート風演算子 (Quote-Like Operators)

演算子 書式 等価な記法
q//
q/STRING/
'STRING'
qq//
qq/STRING/
"STRING"
qx//
qx/STRING/
`STRING`
qw//
qw/STRING/
split(" ", q/STRING/)

置換

tr/SEARCHLIST/REPLACEMENTLIST/cdsr
y/SEARCHLIST/REPLACEMENTLIST/cdsr

SEARCHLISTに含まれる文字を、REPLACEMENTLISTに置換します。これは正規表現ではありませんが、文字の範囲をハイフンで表すことができ、ABCDA-Dと表記できます。

Perlの情報サイトから、まとめて検索