It has to do with type systems.
Perl's typing strategy has always been to type its core operations but not its variables. Then it will cast its variables as implied by its operations. The alternative that most other languages use is to type their variables but not their core operations.
What this means is that in Perl you very rarely even have to think about the fact that "33" is different from 33. The following two are the same:
$x = 33 + 55; # -> 88
$x = "33" + "55"; # -> 88, in other languages "3355".
I think that, whether or not you think that Perl's type system is the best design, changing whether you have to think about the difference between strings and numbers would make Perl no longer Perl...