用途 | 演算子 |
---|---|
加算 | + |
減算 | - |
乗算 | * |
除算 | / |
それが文字でも、数値として解釈できるならば数値として演算されます。さもなくばその項は無視されます。
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
と表記できます。