| 用途 | 演算子 |
|---|---|
| 加算 | + |
| 減算 | - |
| 乗算 | * |
| 除算 | / |
それが文字でも、数値として解釈できるならば数値として演算されます。さもなくばその項は無視されます。
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 |
| 範囲演算子 | .. |
| 演算子 |
|---|
| %= |
| &&= |
| &= |
| *= |
| **= |
| += |
| -= |
| .= |
| /= |
| <<= |
| >>= |
| ^= |
| x= |
| |= |
| ||= |
リスト演算子は、複数の引数を取る関数の一種です。これには、
の2種類があり、これらは引数の優先順位が異なります。そしてリスト演算子では、複数の引数をカンマで区切ります。
| 演算子 | 書式 | |
|---|---|---|
| qr// | qr/STRING/msixpodualn |
STRINGを正規表現として引用し、可能ならばコンパイルします。 |
| m// | m/PATTERN/msixpodualngc /PATTERN/msixpodualngc |
PATTERNで文字列を検索します。見つかった場合はtrueを、さもなくばfalseを返します。 |
| s/// | s/PATTERN/REPLACEMENT/msixpodualngcer |
PATTERNで文字列を検索し、見つかればREPLACEMENTで置換します。置換した場合は数を、さもなくば空文字列を返します。 |
| 演算子 | 書式 | 等価な記法 |
|---|---|---|
| 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に置換します。これは正規表現ではありませんが、文字の範囲をハイフンで表すことができ、ABCDをA-Dと表記できます。