Prev: Calling a function during assignment

Negated Relation Operators

Note! This site is about Perl 6.
If you are looking for a solution for Perl 5, please check out the Perl 5 tutorial.

The equality operators in Perl 6 are == for comparing numerical values and eq for comparing strings. The negated version are the same just with an exclamation mark ( ! ) in front of them. So the would look like !== and !eq.

Luckily those both have their own Short-cut version that are spelled != and ne as one, at least with Perl 5 background, would expect.

Other operators too have negated versions so you can write !>= which means less than (for numbers) and you can write !ge which is the same for strings. I am not fully sold why do we need thes.

One advantage I can see is that if you create an operator called I then you will automatically get one that looks like !I which would be its negation.


#!/usr/bin/env perl6
use v6;

# Equality
say 1 ==  1 ?? 'y' !! 'n'; # y
say 1 !== 1 ?? 'y' !! 'n'; # n
say 1 !=  1 ?? 'y' !! 'n'; # n

say 'ac' eq  'dc' ?? 'y' !! 'n'; #n
say 'ac' !eq 'dc' ?? 'y' !! 'n'; #y

say 1 <  2  ?? 'y' !! 'n'; # y
####say 1 !< 2  ?? 'y' !! 'n'; # n

say 1 <=  2  ?? 'y' !! 'n'; # y
####say 1 !<= 2  ?? 'y' !! 'n'; # n

say 1 >=  2  ?? 'y' !! 'n'; # n
####say 1 !>= 2  ?? 'y' !! 'n'; # y

The Perl 6 Tricks and Treats newsletter has been around for a while. If you are interested to get special notification when there is new content on this site, it is the best way to keep track:
Full name:
This is a newsletter temporarily running on my personal site ( using Mailman, till I implement an alternative system in Perl 6.
Gabor Szabo
Written by Gabor Szabo

Published on 2012-01-01

Prev: Calling a function during assignment


In the comments, please wrap your code snippets within <pre> </pre> tags and use spaces for indentation.
comments powered by Disqus
Suggest a change
Elapsed time: 3.7624436

Perl 6 Tricks and Treats newsletter

Register to the free newsletter now, and get updates and news.