Perl was not taught in colleges because it is dying, and colleges are aimed to produce people who can at least easily find a job. Don't make this sounds like a fault of those colleges. It is really a fault of Perl.
When CGI was the buzz word, Perl was buzz word compliant, and no Perl programmer complained about buzz word, actually they probably liked buzz word more than anyone else. Even today, CPAN is a buzz word Perl programmers waging quite often, when it is highly questionable whether a centralized code repository really provides much unreplacable benefit. Java doesn't have CPAN, but Java has google. C# doesn't have CPAN, but c# has google. You can easily find everything just googling or yahooing.
Perl is not taught in colleges because it's not a good teaching language. You learn a programming language at school because it demonstrates techniques and features that the teacher thinks you need to know about. Java, C, assembler, Prolog, Scheme, all of those demonstrate certain features clearly and so are useful pedagogical tools. Perl does not, and so is not.
(1) Perl is not taught in colleges for the same reason that other interpreted
languages are not: they are poor choices for teaching fundamental programming
techniques and OS manipulation (memory manipulation, I/O, etc.). This is not to
say that such languages shouldn't be taught at the college level -- just that
traditional CS programs are more likely to stick with what they know and can
teach a student in four years.
As noted in other replies, a solid programmer in any language -- such as those
actually taught in colleges -- can likely be introduced to perl and become
proficient in a matter of a week or two.
(2) I'm not sure where you're coming from, but the buzz word 'CGI' never implied
perl to me. It implied a dynamic site that was using any of a number of
languages behind the scene -- C and perl being most common, but not the only
players on the block (I saw sites written in shell).
(2a) Regarding CPAN, it's not just about the central, searchable repository;
it's also about the fact that CPAN: is a distribution mechanism that tracks
dependencies; provides a testing framework; provides nightly builds of
documentation; and more.
Even today, CPAN is a buzz word Perl programmers waging quite often, when it is highly questionable whether a centralized code repository really provides much unreplacable benefit. Java doesn't have CPAN, but Java has google. C# doesn't have CPAN, but c# has google. You can easily find everything just googling or yahooing.
I might have given you the benefit of the doubt until this comment. Its quite clear that you havent the foggiest idea about what you speak. Google is so far from a replacement for CPAN that it isn't funny. Every time I've had to search for useful free code for any other language I've come away thanking the powers that be that I use Perl and have CPAN to back me up. While not everything on CPAN is quality software, lots of it is. The same can't be said of Java's or C#'s collections available from Google.
You keep trolling this site bashing Perl and apparently promoting Java. Its not clear why. Perhaps Larry Wall didnt talk to you at a convention, perhaps you are just an attention seeker, perhaps you are a shill for Sun or Microsoft. Whatever. Most people here don't care, and would rather you just wander off back to where you came from.
If you have anything constructive or useful to add to the site other than regularly repeating "perl is dead" then please do so. Otherwise just bug off.
Perl is not taught in colleges because (a) there are not textbooks, (b) it has only recently become mature enough to use for demonstration CompSci concepts, (c) the vast majority of CS professors don't have years of experience with Perl (as a result of b). No one is really blaming anything on anyone; but it is perfectly reasonable to say that new Perl jobs are harder to come by, in part, because new CS graduates have not been taught Perl but other languages instead.
Only a very few people CGI means Perl: most people realize that it is a method for a web server to generate dynamic pages by executing code (which can be written in any language, in theory). There is, of course, a CGI module that made writing CGI scripts and applications easier in Perl than in many other languages. That is why Perl quickly became a very common tool to produce CGI-based web sites.
As for CPAN, it's not a buzzword, but it is a powerful point toward choosing Perl for Rapid Prototyping or Rapid App. Development projects. Yes, Java and C# code can be readily located using Google searches, but CPAN is more than a centralized repository. CPAN, in combination with the CPAN module (or Bundle::CPAN) has full dependency tracking, and is supported by the CPAN Testers, so that one can know a module has a test suite and the like.
I think many people make the mistake that Perl is trying to compete with other languages, or that people will chose Java, C#, or some other language instead of Perl.
The reality, of course, is that most Perl programmers don't program only in Perl. Many very knowledgable Perl folks use C, Java, or even one of the .NET languages. Perl does what it does very well, and continues to be used (albiet more quietly than in the past) to maintain a huge extant code base and to create new applications.
Unfortunately, because Perl is not in the limelight (marketing, magazine articles, etc.) nor taught in programming classes, Perl programmers are harder to find. Because there are fewer Perl programmers than, say, Java programmers, management is more likely to select Java because they know they can find a replacement coder if someone quits.
What gets used for big software projects has almost nothing to do with the quality of the language, and everything to do with management's confidence in finding good people (and being able to afford to pay them).