Why does your site not link to perl.org?!

Recently an article was published that claimed Perl usage in websites had dropped below 1%. For a Perl developer this seems ridiculous on the face of it. As it turned out, it was ridiculous, since the error margin was 17.6%. Meaning that for 17.6% of the sites they surveyed they could not even detect that they were using Perl. And they only survey the top 1 million, out of the 175 million active sites Netcraft reported. So the validity of these numbers is highly suspect.

So, all is fine? Catastrophe averted? Heh, not really.

Here's the issue: To a Perl developer this might seem ridiculous. Most of us are aware of how many websites use it under the hood. But to the average person it seems perfectly reasonable. The suffixes ".php" and ".asp" are ubiquitous and lets everyone know what the website is running on. Ruby and Python operations are proud of using their languages and flaunt it. To an average person it might even seem like there are more Ruby and Python websites.

Yet Perl is practically invisible. It drives a lot of sites, businesses and livelihoods worldwide, neither of which make any indication of the tools they're using. Let's take a look at a random sampling:

Site Alexa Rank
imdb.com 37
booking.com 245
cpanel.net 1,710
blogs.suntimes.com 2,171
net-a-porter.com 2,195
lovefilm.com 3,149
liquidweb.com 7,776
slando.com 25,266
socialtext.net 145,896
bestpractical.com 161,366
metacpan.org 172,291
hiveminder.com 295,127

These are sites that run on Perl, but to look at them you'd never even know it. Perl has advanced route dispatching mechanisms and its great modularity makes it possible to write an entire website as a single application. In fact, for most modern Perl web frameworks it has become customary to run web applications as self-hosting services to which a web server connects via a network port. Perl has made it very easy to design one's url structure exclusively around the data one serves, which has made it entirely impossible to tell for most Perl-driven sites that they actually are Perl.

Now, all of these sites have reasons to be proud of the tools they use. Some of them indeed are very proud, booking.com for example has donated 150.000 USD last year to Perl development and others on the list have donated smaller amounts as well or are supporting Perl conferences and spend a lot of money to have a presence on Perl conferences. Those on the list who are hiring, are also hiring Perl developers, some of them quite prominently. Even others on the list are websites created for the express purpose of serving the Perl community.

Yet none of them even mention Perl on their frontpage or even link to perl.org. I know Perl doesn't have nice and easy promotion buttons like Python or PHP do. But a simple text link does the job just as well. Just a simple "Built with Perl" in the footer or a sidebar would show that you care about Perl, would make it easier for job seekers to notice that you're looking for Perl devs and would raise the visibility of Perl and make it a more appealing choice for students looking to learn a dynamic language.

I do not believe this is done out of any maliciousness and that it's rather just a simple oversight, something that was never considered. As such i've sent a small email to each of those sites, asking them to consider this issue and to please add a link to perl.org or to weigh in on why they would not do it. Maybe they are issues that the Perl community can fix.

Similarly, if you own a site yourself that runs on Perl and does not link to perl.org:

Why does your site not link to perl.org?!


Good reminder; Onyx Neon's site now includes that link in the footer of every page.

You can include any site that runs on Movable Type as a "runs on Perl." For example, all the blogs for the Chicago Sun-Times at blogs.suntimes.com (Alexa rank 2,171) run MT, although I'm sure the main site does't.

Great article. You are right on! I plan to add this link to all our web properties.

Good point! I just added a linked Perl logo to all 118,000 TWiki pages on http://twiki.org/ : Each page bottom now has a 88x31 pixel Perl logo next to the TWiki logo of the same size. Future TWiki releases will have the two logos as well.

Feel free to use the 88x31 pixel Perl logo for your Perl site, http://twiki.org/pub/perl-logo-88x31.gif - which I created based on the original from the Perl Foundation Logo TM page.

-- Peter - BDFL TWiki.org

PS: We are looking for additional contributors. If you would like to participate in a large & visible Perl project I invite you to get involved, http://twiki.org/cgi-bin/view/Codev/GettingInvolved

[span mode="devil's advocate"]
But isn't this GREAT?

People in the 1990's, 95% of them not "real programmers" and are still calling the language PERL, used to come and ask questions, despite hating the language's guts, just to make their CGI web counter or contact form work. And they write the crappiest, most insecure, lowest quality code out there.

Now they're doing it in PHP, Ruby, and Python. Have you seen the horrible OO code written by clueless newbies? Can you imagine the billions of lines of Rails autogenerated boilerplates, bitrotting on the cloud, never-again refactored?

We should be happy.

As Ingy said, "Perl attracts a certain kind of people. My kind of people."

Ah yes, the old "If you're not smart enough to use Lisp, Lisp doesn't want you" fallacy from some Lisp programmers. I'm glad the Perl community seems to have left that phase.

This is a great idea. I need to do it on more of my sites, but it's the very first link on our Thank You page for The Game Crafter:


As a life scientist, I used to write code to get projects done. I didn't use Perl. If I wanted to get projects to run faster, with less memory, or on older hardware. I didn't use Perl. If I wanted to explain to other life scientists how I did something, I *DEFINITELY* didn't use Perl. Since moving into engineering, I've had more exposure to Perl. I keep looking for reasons to be upbeat about those projects. This post and the replies only serve to cement my notions about the cult of Perl... The original article said that less than 1% of websites use Perl. Your counter-argument is that, using random sampling, one site in Alexa's top 100, two in the top 250, and three in the top 1700, culminating in 12 in the top 250,000 are written in Perl? Please, stop trying to do yourself a favor.

I often end up dreading my having to slave away because somewhere I forgot one of the hundreds of esoteric rules and kludges that make no sense to anyone except people who like to write articles about how Perl is still "not" becoming less relevant. Ruby, PHP, and Python newbies have had buttons on their websites and .php in their urls for nearly a decade, it's odd that such a effective or creative language/culture/ethos like Perl took this long to do the same. It's like a bizarre subculture full of smug linguists that just now realized that not everyone reads the dictionary for fun and that printed words can be used to sell things and influence people; or like a group of whittling enthusiasts that just now realized you can use wood to build houses or furniture, and when you're done building your house or furniture, you can carve your initials onto it.

I'm sure you know more than twelve sites that rely on Perl, perl.org isn't on there, cpan.org isn't on there... My point wasn't that 12 in the top 250,000 was THE %age of sites that use Perl. Rather that, your rebuttal seemed to split hairs between the idea that Perl's relevance is waning and that it's relevance is being pushed to the damp, musty, primordial parts of the internet that people don't visit. I wasn't trying to say you're wrong so much as you could be more convincing about the "hidden use and/or proliferation of Perl". Personally, I was searching for a pick-me-up that showed (e.g.) "Netcraft says 1% but github shows 5%..." or "The article says a fall while Alexa indicates a rise..." or "1% of all websites use Perl, but 10% of the top 100, 500, 1000 Alexa rankings use Perl"; and was disappointed that a random sampling of 12 sites showed the a third of them as lower-ranking sites (below Alexa's 100,000 rank cutoff for historical data), one of which was a metacpan.org. Not to say that your method is flawed or that that I have the market cornered on site-ranking or language design, just, to me, an underwhelming rebuttal. Your argument may've failed, I may just be reading the wrong web post the wrong way.

As to your question; most peevishly, the abundance of two non-alphanumeric character operators and typos. '-' vs. '->', '$' vs. '$$' vs. '$_', '@_' vs. '@', and '::' vs ':' combined with implied behavior are more irritating to me than dropping a ";" in C or adding an extra space in Python or brace in Java. People I'm explaining things to can understand how the C compiler needs a ";" or that braces need to match. They tend not to understand how "$" produces an error while "$_" is the local variable array or when "$foo" is the wrong scalar and "$$foo" is the right one.

More deeply, my issue may be cultural/generational rather than strictly linguistic, monasteries don't appeal to everyone. I learned OOP before I wrote much Perl. When I relate to fellow scientists, I find it easier or convenient to use OO concepts (explicitly or implicitly) even if the code I got or wrote is strictly procedural or functional. Possibly, this puts me (and maybe them) behind the 8-ball with Perl. In this context, to me, Perl creates lots of room and flexibility where it's not needed. It feels as though Perl was written with OOP as an afterthought and the people I know who learned it and use it well are the people who learned Perl before OOP. Personally, I struggle with the implementation (not so much understanding) of functions returning strictly lists or scalars combined with "my", "our", "vars", and "$_", and passing these variables/references/values between methods. Maybe your scientists or teams are better integrated, better trained, or more experienced (mine have been more ad hoc), but I often feel turned off and that I'm turning my fellow scientists off when I explain why someone else (or I) used "my $foo=bar->('baz')" here, "$_[0]" there, and "our $qux" over there and that they all refer to essentially the same value or perform the same function from one program/implementation to the next. I actually agree with the ideology that some of the colleagues I'm turning off are walking user errors, but there are times, with Perl more often it seems, when there is frustration with a simple concept/pattern or the transference of that concept/pattern because the linguistics and intuition are so different. HTH

Leave a comment

About Mithaldu

user-pic Not writing much, but often found pawing at CPAN with other #perl-cats