|Perl Monk, Perl Meditation|
Why wouldn't a language move "essential patterns" into the language's core?
I can suggest two reasons:
The other reason could be related to the way that some people like to boast about features in their favourite language, as if the features are unique to that language. The flip side of that attitude is that the designers won't put a certain features in, because then their language will be like another language that happens to have that particular feature.
Why haven't other languages evolved a CPAN?
There are probably more generous theories, but I would suggest that it is because most programmers are idiots who think they can write better code than anyone else.
Take a look around at other peoples code.
Every idiot C coder (almost all of them) thinks that s/he can write better memory management routines than someone who has been studying the problem for 10 years.
Every idiot PHP programmer thinks that s/he can write a better 'news portal' than the current 50 million news portals already written in PHP.
Every idiot Perl programmer thinks s/he can write a better CGI handling routine than the one that has been developed and field tested for 8 years.
A possibly more generous reason is that not all languages have the example of other coders using the Artistic License to release code. Ya need to have that community sharing feeling going.
But if you consider CPAN to be just a repository of libraries, then I would argue that C has many CPANs. There is the Red Hat CPAN, the Debian CPAN, the BSD cpan, The GNU CPAN...