Operators

+ - * / div % mod ** %%, Unicode × ÷, superscripts x² ~ (concat), x (repeat string), xx (repeat list)

== != < > <= >=, <=> (returns Order: Less, Same, More) eq ne lt gt le ge, leg cmp (smart), before, after

eqv (same type and value), === (value identity), =:= (container identity) ~~ and !~~

&& || ^^ !, // (defined-or), low precedence and or xor not, andthen, orelse, notandthen cond ?? a !! b

=:=::=, and op= for any infix (+=, ~=, //=, max=, .=) | & ^ (any, all, one)

(elem) ∈, (cont) ∋, (|) ∪, (&) ∩, (-) ∖, (^) ⊖, (<=) ⊆, (<) ⊂ ++ -- (magic string increment too)

+& +| +^ +< +> +^ (numeric), ~& ~| ~^ (string), ?& ?| ?^ (boolean)

.method, .?method (if exists), .+method / .*method (all candidates), .&sub (call a sub as a method) ==> and <==

[op] reduce, »op« hyper, Xop cross, Zop zip, Rop reverse, Sop sequential, !op negate, op= assign

say 5 <=> 3;                     # More
say 'a' cmp 'b';                 # Less
say 1 == 1.0, ' ', 1 eqv 1.0;    # True False (different types)
say 3 ~~ Int, ' ', so('abc' ~~ /b/), ' ', 5 ~~ 1..10;  # True True True
my $v;
say $v // 'default';             # default
say (1, 2) xx 2;                 # ((1 2) (1 2))
say 10 max 3, ' ', 10 min 3;     # 10 3
my $n = 5; $n max= 10; say $n;   # 10
say 1 < 5 < 10;                  # chained comparison: True
say (1..5).grep(* %% 2);         # (2 4)
my @x = <c a b>;
@x .= sort;                      # method-call assignment
say @x;                          # [a b c]