Compare '15' eq '15.0' versus '15' == '15.0'! Or if this looks artificial, let's assume you've read one of the numbers from a XML file and the other from STDIN. Now both are stored as strings by Perl, strings that will be converted to numbers if needed, but still what you read from both sources were strings! How should Perl guess whether you wanted to compare them as strings or as numbers? And if Perl did try to guess, how would you make sure it guesses right?

A single comparison operator is fine for strongly typed languages, but for weakly typed like Perl and JavaScript a pair of operators works much better. Actually the shared operator for string and number comparison and another for addition and concatenation is what I dislike most about JavaScript and what leads to huge loads of errors in JavaScript code in general. formFieldName.value + 1 anyone?