Почему в Perl для строк отдельные операторы сравнения?
По работе пришлось столкнутся с программированием на Perl'е, и я заметил такую нелогичную вещь:
[do somesthing] unless $a < $b;
Не будет работать, если $a и $b - строки, для них нужно писать lt, gt и прочее. А в чем тогда смысл использования знаков $ % @, если для правильной работы с переменными надо всё равно знать их тип более точно? Или это очередное специальное исключение чтобы некоторым программистам работалось лучше, а остальные сетовали на нелогичность?
Источник: Stack Overflow на русском