make as a language has shown itself to be inadequate. why do you think people invent things like cook, MakeMaker, Module::Build and makepp (a pure perl implementation of GNU make which extends it with Perl functionality?
I don't know cook or makepp, so I won't comment on that. MakeMaker was created to create Makefiles for a specific purpose. MakeMaker is poorly equiped to generate a Makefile for, oh, say, a Linux distribution. Module::Build was created because some people don't like MakeMaker.
ditto for SQL. Why was it extended with stored procedures? Why is it necessary or far more convenient to handle complex processing client side with Perl instead of server-side with SQL.
Actually, it's not. It's never
necessary to do data processing in Perl. As for it being "more convenient", it being more convenient usually stems from programmer blinds - creating tunnel vision. Most programmers can only program in one type of language category very well, and Perl (iterative programming - a language category that also contains C, Java, Python and PHP) and SQL (set algebra) are vastly different categories. It usually goes "Oh, I need to do something for every piece of data. Thus I need a loop. But loops are hard in SQL. Hence I need to do it in Perl."
Sometimes it's easier to do it outside the database. Sometimes, it's even more efficient to do it outside the database. But that happens less often than many people think.