How do I compare two strings in Perl?
I am learning Perl, I had this basic question looked it up here on StackOverflow and found no good answer so I thought I would ask.
See perldoc perlop. Use lt
, gt
, eq
, ne
, and cmp
as appropriate for string comparisons:
Binary
eq
returns true if the left argument is stringwise equal to the right argument.Binary
ne
returns true if the left argument is stringwise not equal to the right argument.Binary
cmp
returns -1, 0, or 1 depending on whether the left argument is stringwise less than, equal to, or greater than the right argument.Binary
~~
does a smartmatch between its arguments. ...
lt
,le
,ge
,gt
andcmp
use the collation (sort) order specified by the current locale if a legacy use locale (but notuse locale ':not_characters'
) is in effect. See perllocale. Do not mix these with Unicode, only with legacy binary encodings. The standard Unicode::Collate and Unicode::Collate::Locale modules offer much more powerful solutions to collation issues.