See perldoc perlop. Use lt, gt, eq, ne, and cmp as appropriate for string comparisons:
Binary
eqreturns true if the left argument is stringwise equal to the right argument.Binary
nereturns true if the left argument is stringwise not equal to the right argument.Binary
cmpreturns -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,gtandcmpuse 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.