HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mojolicious
mojo
Perl2010–2022
mojolicious / mojo

mojo

:sparkles: Mojolicious - Perl real-time web framework

12Distinct people
14Mentions
0Explicit recommenders
2.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

:sparkles: Mojolicious - Perl real-time web framework

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year14 dated mentions

Observed mentions: 2010-11-23 13:28:07 UTC to 2022-11-18 22:08:32 UTC.

01232010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20102011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC101
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC303
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC101
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC202
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC202
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC211
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

What Hacker News says

14 sources
I think it's very widely used for its original purpose, which is a shell replacement. When I need a short script, particularly for text processing, I'll usually reach for Perl now that the Perl 5/Perl 6 thing has been resolved. Just look at the activity on CPAN: https://metacpan.org/recent There are two heavily developed/used web frameworks for Perl: https://mojolicious.org/ and http://perldancer.org/ Users of Mojolicious: https://github.com/mojolicious/mojo/wiki/Projects-and-Compan...
In Perl One-Liners Cookbook
Try reading this Date module (which is very cleanly written compared to the codebase which I was supposed to maintain) https://github.com/mojolicious/mojo/blob/master/lib/Mojo/Dat... I just find it impossible to glance over it and understand whats happening even though I know what is supposed to be happening there. Something similar in golang https://github.com/araddon/dateparse/blob/master/parseany.go
In Ask HN: Why is Google in love with purposely-impaired languages like Go, Dart?
In a word: Humility. The maintainers of LogStash, for example, have a philosophy that "If our users are confused, it is a bug. It is not that they are stupid." Another good example is PHPUnit, whose maintainer unarguably has a much higher prestige in the PHP developer community than I do, yet responded to trolling by implementing the change I suggested and taking the time to hash and PGP sign all of the past releases. https://github.com/sebastianbergmann/phpunit/issues/1334 The CodeIgniter maintainers responded to my gripes about their CI_Encrypt library by researching and writing a brand new library to fulfill that role. And of course, we have some good bad examples. OpenCart: https://github.com/opencart/opencart/pull/1534 https://github.com/opencart/opencart/pull/1594 Mojolicious: https://github.com/kraih/mojo/issues/656 Etcetera. Humbl
Read the rest
e lead developers are less caustic and create less barriers for entry. This encourages people to contribute and allows a community to flourish.
In Ask HN: What makes a good OSS community?
> To turn the question on its head, why should anyone choose Perl over the alternatives? I honestly have never seen a reason to switch. Was that the implication of the original statement? When you said you didn't see much reason for a new project to be started in Perl, I took that as any new project, even in a shop that has prior Perl experience, not a project where you are specifically looking for something different than our prior language. Indeed, if you are already using one of Perl/Python/Ruby, I'm not sure I see a reason to switch from any one of those to any other. If on the other hand you actually meant "When starting a new project, I see no reason to use Perl regardless of whether that's where you have experience", then we still have a discussion worth having. > 1. Community : there's no doubt Perl's community has taken a bit of
Read the rest
a hit over the last n years population wise. In addition, the Perl community has, anecdotally, a reputation for being a bit terse [1]. Nothing cut and dry here, but again nothing that stands out IMHO. Did you actually read that link, or just read a section title and assume it made your point? Because the author updated that section saying that he really can't talk much on that point, because he wasn't there, and the evidence shows it to have been fairly civil. That said, Sebastian does have a bit of a reputation for being "terse". But that's one person. Since when does one person define a whole community? > 2. Libraries : by extension of a diminishing pool of active contributors, it stands to reason some modules may not be as actively supported as their counterparts in other languages. This is compounded by the uncertain state of the language's version (5,6,7?) You have a lot of assumptions, and are using them as the basis for more assumptions. How much has the community decreased? What percentage of the community that are still active are contributors of modules, compared to similar communities of other languages? Or, just look at some data: https://metacpan.org/recent Feel free to change the filter on the left to new distributions, not just new releases, to get an idea of how much active development is going on. It may be more or less than other languages, but I think what's shown should be sufficient to disabuse you of the notion that no development is going on. As for the the version number, this is a non-issue. There is no issue of version numbers, it's a solved problem. Some people in the community occasionally bring it up because it's a sore spot, and it gets a lot of play in the tech media sites, but it's really rather simple (if different than most other languages). Perl 5 is Perl 5, and will stay so unless someone forks it and competes. Perl 6 is a new language, intended as both a successor and a companion to Perl 5. People are NOT expected to migrate Perl 5 code to Perl 6, it is a different language. This has nothing to do with the state of the language's future. Perl 5 is still being developed. Perl 6 is still being developed. Both are available, and useful, for specific subsets of uses. For Perl 6 that happens to be a somewhat smaller subset currently because of performance issues, and some portions of the spec still being fleshed out (this is a different discussion). > 3. Language : I personally have enjoyed coding in Perl, and am not really too intimidated by its historical warts. It's quite possible to write readable Perl, so write-only accusations are of little concern (to me). Agreed. > * Versioning : As an outsider, the current state of Perl's versioning is confusing. Perl 6 has been in development for over a decade, and I've seen mention of Perl 5.2 being released as Perl 7. None of this reflects positively on the language as a whole as it raises concerns about future proofing and maintainability. Blame tech media sites for taking an internal community discussion, misunderstanding the state of things, taking random suggestions from people as real community movements, and playing it up for page views. I'm sure we can agree the media isn't infallible. I'll agree that Perl 6 is unfortunately named. If you know the eventual goals (Perl 5 interoperability) the name makes a bit more sense, but it has caused some in the Perl 5 community to feel constrained to a version number (thus the talk of Perl 7). In the end, this is a marketing problem (which is why you see it from the outside). > * Mojolicious : Looks nice. My only concern would be that, based on the GitHub commit history, it is overwhelmingly governed and contributed to by a single individual. More so than even Rails, and significantly more so than Django. This isn't necessarily a negative, but I'd certainly want to trust him before building a production app using his tool. There's a fair number of other people that have committed[2], but I won't argue the impression that it looks to be primarily Sebastian (even if there's supposedly 4-5 core developers, according to changelog notices). That said, from your earlier link that explained him leaving the core Catalyst team[1], he started Catalyst, so he's got some experience in this area. I feel fairly certain others would step up to the plate if he couldn't commit as much. [1] http://blogs.perl.org/users/joel_berger/2012/10/why-people-d... [2] https://github.com/kraih/mojo/contributors
In Why Ruby?
Just recently I spent a day writing a Perl chat server (and jquery webclient to go with it) for a large customer of ours, sort of a beta-gimmick for a good customer of ours. Now the thing became "mission-critical" (esp. on Fridays...). There are like 500 intranet users connected at any given time! I pulled the whole stunt thanks to the Mojolicious framework, from this article here: https://github.com/kraih/mojo/wiki/Writing-websocket-chat-us... Just added chat rooms and intranet user authentication. Then installed EV (for nodejs-grade event loop) from the CPAN, and the thing was deployed ready in production. Mojolicious is just amazing.
In Perl 5.16.0 is out, with 590,000 lines of changes
I don't think this is true. Have you ever read the code of a bigger Perl distribution. For example Mojolicious. https://github.com/kraih/mojo While I also like other languages and for example have great fun using CoffeeScript for my current projects Perl is really good when it comes to describing what the code actually does. This is a benefit of "there is more than one way to do it". At the beginning t is hard to understand this, if you come from other languages. There are lots of people writing C-like Perl code. It looks very static and usually extremely ugly. People see this stuff, for example in the documentation of various bindings, etc. and think "ugh, that's ugly". Perl (designed by a linguist) is much more dynamic, like a natural language. So it allows you to describe things in an hard or easier way. In fact Perl was my first real
Read the rest
language and it took a while until I understood how others work. Meanwhile I know a number languages and have seen various ways in which you can design a language. I can see why many people shun Perl. However, the main reason possibly is that the don't understand what it's concepts are about. They are very different. One can possibly compare this with the situation when you switch to a functional language, like Haskell or when you haven't used OO before. Like with all languages I really recommend to learn it. Even, if you don't use it Perl _will_ widen your horizon. Two tips, if you do: Modern Perl, is probably the best book for learning and it's available as a free online book (wish I had something like that, when I started). There are many very outdated and even completely wrong tutorials. Oh and "use diagnostics;". It will take a while until you see it's flexibility, but it is like Perl would be a language inherit (or assimilate) all paradigms and concepts or like always had them and they were just slumbering. Well, of course there are other things like CPAN that make Perl great. Yeah, other languages have similar facilities, but they don't come close. It is really great and they all have lots of tests and there are a lot of "CPAN Testers" that report problem. And when you want portability you'll love it. It runs on _very_ exotic platforms.
In How Ruby is beating Python in the battle for the Soul of System Administration

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.