2. 演算子

よく使われる演算子のリストです:

演算子 種類 説明 結果

+

中置

加算

1 + 2

3

-

中置

減算

3 - 1

2

*

中置

乗算

3 * 2

6

**

中置

累乗

3 ** 2

9

/

中置

除算

3 / 2

1.5

div

中置

整数除算(切り下げ)

3 div 2

1

%

中置

剰余

7 % 4

3

%%

中置

割り切れる時に真

6 %% 4

False

6 %% 3

True

gcd

中置

最大公約数

6 gcd 9

3

lcm

中置

最小公倍数

6 lcm 9

18

==

中置

等しい

9 == 7

False

!=

中置

等しくない

9 != 7

True

<

中置

より小さい

9 < 7

False

>

中置

より大きい

9 > 7

True

<=

中置

より小さいか等しい

7 <= 7

True

>=

中置

より大きいか等しい

9 >= 7

True

eq

中置

文字列として等しい

"John" eq "John"

True

ne

中置

文字列として等しくない

"John" ne "Jane"

True

=

中置

代入

my $var = 7

7 を変数 $var に代入する

~

中置

文字列として連結

9 ~ 7

97

"Hi " ~ "there"

Hi there

x

中置

文字列として繰り返し

13 x 3

131313

"Hello " x 3

Hello Hello Hello

~~

中置

スマートマッチ

++

前置

インクリメント(1増やす)

my $var = 2; ++$var;

変数を1増やして、その結果 3 を返す

後置

インクリメント(1増やす)

my $var = 2; $var++;

変数 2 を返して、それから1増やす

--

前置

デクリメント(1減らす)

my $var = 2; --$var;

変数を1減らしてその結果 1 を返す

後置

デクリメント(1減らす)

my $var = 2; $var--;

変数 2 を返して、それから1減らす

+

前置

被演算子を数値に強制変換した値を返す

+"3"

3

+True

1

+False

0

-

前置

被演算子を数値に強制変換し、さらに符号を逆にした値を返す

-"3"

-3

-True

-1

-False

0

?

前置

被演算子を真偽値に強制変換した値を返す

?0

False

?9.8

True

?"Hello"

True

?""

False

my $var; ?$var;

False

my $var = 7; ?$var;

True

!

前置

被演算子をブール値に強制変換し、さらに真偽を反転させた値を返す

!4

False

..

中置

範囲演算子

0..5

0から5までの範囲(の値)を作る

..^

中置

範囲演算子

0..^5

0から4までの範囲(の値)を作る

^..

中置

範囲演算子

0^..5

1から5までの範囲(の値)を作る

^..^

中置

範囲演算子

0^..^5

1から4までの範囲の値を作る

^

前置

範囲演算子

^5

0..^5 と同じく、0から4の範囲(の値)を作る

…​

中置

遅延リスト演算子

0…​9999

必要になったときにだけ要素を返す

|

前置

フラット化

|(0..5)

(0 1 2 3 4 5)

|(0^..^5)

(1 2 3 4)

優先順位を含む、演算子の完全な一覧は、 http://doc.perl6.org/language/operators(英語) を参照してください。