如何在 Perl 中比较两个字符串?
我正在学习 Perl,我在 StackOverflow 上找到了这个基本问题,但没有找到好的答案,所以我想我会问。
请参阅perldoc perlop。使用lt, gt, eq, ne, 和cmp酌情进行字符串比较:
lt
gt
eq
ne
cmp
eq如果左参数在字符串上等于右参数,则二进制返回 true。 ne如果左参数按字符串不等于右参数,则二进制返回 true。 Binarycmp返回 -1、0 或 1,具体取决于左参数是按字符串方式小于、等于还是大于右参数。 Binary~~在其参数之间进行智能匹配。… lt, le, ge,gt并cmp使用由当前语言环境指定的排序规则(排序)顺序,如果旧的使用语言环境(但不是use locale ':not_characters')有效。请参阅perllocale。不要将这些与 Unicode 混合,仅与旧的二进制编码混合。标准的Unicode::Collate和Unicode::Collate::Locale模块为排序问题提供了更强大的解决方案。
eq如果左参数在字符串上等于右参数,则二进制返回 true。
ne如果左参数按字符串不等于右参数,则二进制返回 true。
Binarycmp返回 -1、0 或 1,具体取决于左参数是按字符串方式小于、等于还是大于右参数。
Binary~~在其参数之间进行智能匹配。…
~~
lt, le, ge,gt并cmp使用由当前语言环境指定的排序规则(排序)顺序,如果旧的使用语言环境(但不是use locale ':not_characters')有效。请参阅perllocale。不要将这些与 Unicode 混合,仅与旧的二进制编码混合。标准的Unicode::Collate和Unicode::Collate::Locale模块为排序问题提供了更强大的解决方案。
le
ge
use locale ':not_characters'