The
comparison operators compare two terms and return the value
1 if
the result of the comparison is true, or
0
otherwise.
The strict comparison operators
all have one of the characters defining the operator doubled. The
==,
\==,
and
¬==
operators test for an exact
match between two strings. The two strings must be identical (character by
character) and of the same length to be considered strictly equal. Similarly,
the strict comparison operators such as
>>
or
<<
carry out a simple character-by-character comparison, with no padding of either
of the strings being compared. The comparison of the two strings is from
left to right. If one string is shorter than the other and is a leading
substring of another, then it is smaller than (less than) the other.
The strict comparison
operators also do not attempt to perform a numeric comparison on the two
operands.
For all other comparison operators, if both terms
involved are numeric, a numeric comparison (see
Section 10.4, “Numeric Comparisons”) is
effected. Otherwise, both terms are treated as character strings, leading
and trailing whitespace characters are ignored, and the shorter string is padded
with blanks on the right.
Character comparison and strict comparison operations are both
case-sensitive, and the exact collating order might depend on the
character set used for the implementation. In an ASCII environment,
such as Windows and Unix-like systems, the ASCII character value of digits is lower than
that of the alphabetic characters,
and that of lowercase alphabetic characters is higher than that of uppercase
alphabetic characters.
The comparison operators and operations are:
Throughout the language, the NOT (¬)
character is
synonymous with the backslash(
\).
You can use the two
characters interchangeably, according to availability and personal preference.
The backslash can appear in the following operators:
\ (prefix
not),
\=,
\==,
\<,
\>,
\<<, and
\>>.