How do I compare two strings in Perl?

perl, string-comparison

Solution

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` and `cmp` use the collation (sort) order specified by the current locale if a legacy use locale (but not `use 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.

Problem

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.

Original source

Related problems