{"slug": "cpan", "name": "CPAN", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 8, "warners": 4, "score": -0.037, "rising": -1.31, "first": "2025-11-19", "latest": "2026-06-19", "why": "There is the fact of having a system of distribution like the original CPAN", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 0, "compare": 0, "warn": 4}, "spark": [2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "There is the fact of having a system of distribution like the original CPAN", "kind": "", "icon": true, "domain": "metacpan.org", "github_repo": null, "official_url": "https://www.cpan.org", "pricing": "", "aliases": ["CPAN"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 758247120, "item_id": 47390445, "url": "https://news.ycombinator.com/item?id=47390445", "by": "PaulHoule", "date": "2026-03-15", "stance": "recommend", "quote": "There is the fact of having a system of distribution like the original CPAN", "excerpt": "leftpad. It's a rich document to read in terms of thinking about those times and how it is like today. For instance when it comes to text parsing people very much use regex or something like lex or yacc and you can count on regex in the standard library. There is the fact of having a system of distribution like the original CPAN https://www.cpan.org/ which is independent of many other technologies such as namespaces ", "context": "", "use_case": "", "switched_from": "", "story": "Mass-Produced Software Components"}, {"id": 741767872, "item_id": 46360492, "url": "https://news.ycombinator.com/item?id=46360492", "by": "anthk", "date": "2025-12-22", "stance": "recommend", "quote": "At least they seemed to have policies", "excerpt": "Does this happen with CPAN? At least they seemed to have policies: https://security.metacpan.org/", "context": "", "use_case": "", "switched_from": "", "story": "Lotusbail npm package found to be harvesting WhatsApp messages and contacts"}, {"id": 735710544, "item_id": 45981909, "url": "https://news.ycombinator.com/item?id=45981909", "by": "leejo", "date": "2025-11-19", "stance": "recommend", "quote": "CPAN was a killer app", "excerpt": "I may blog about this next year, again[^1], as I'm working on a project that sort of covers it - not in a way that will answer the question but more observational. Anyway, I feel Perl's popularity was hugely exaggerated in the mid to late 90s and early 00s. The alternatives were either not there in terms of language and toolchain features, ease of use, \"whipuptitude\" or whatever, or library support (CPAN was a killer", "context": "", "use_case": "", "switched_from": "", "story": "What Killed Perl?"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 777597808, "item_id": 48599863, "url": "https://news.ycombinator.com/item?id=48599863", "by": "lizmat", "date": "2026-06-19", "stance": "warn", "quote": "The Perl 5/CPAN ecosystem has been left to rot and is no longer safe for consumption.", "excerpt": "* No separate types of bytestrings versus sequences of unicode codepoints. Fixed in Raku. You either have a string (Str) or a bytestream (Blob). Wherever there's strings in any non-trivially-sized real-word Perl 5 project, there is utter irreversible and irredeemable mojibake. No mojibake in Raku. * No canonical way to do object-orientation. (cf. blessed objects, Moo in different versions, and different conventions a", "context": "", "use_case": "", "switched_from": "", "story": "The Raku Foundation is born"}, {"id": 735790368, "item_id": 45986898, "url": "https://news.ycombinator.com/item?id=45986898", "by": "pragmatic", "date": "2025-11-19", "stance": "warn", "quote": "I fought cpan for two days trying to get anything to work.", "excerpt": "I had to build a custom middle ware sso thingy that ran on six and worked with ssl certs. I fought cpan for two days trying to get anything to work. Switched to java, had it done and in production in an afternoon. Not a fan of Perl.", "context": "", "use_case": "Perl module installation", "switched_from": "", "story": "What Killed Perl?"}, {"id": 735764848, "item_id": 45985303, "url": "https://news.ycombinator.com/item?id=45985303", "by": "warpspin", "date": "2025-11-19", "stance": "warn", "quote": "the real and absolutely major problem at that time was the success of CPAN, which \"killed\" Perl 5", "excerpt": "I have been using Perl for almost 30 years now, privately and professionally. People here tend to say, Perl 6 or Python killed it, but that's not what I experienced in those 30 years. Not that simple. It was a combination of things, the Perl 6 announcement was one of the smaller parts actually. - TIMTOWDI lost against \"batteries included\", and it lost big: It's not so much that the simpleness of the Python language w", "context": "", "use_case": "", "switched_from": "", "story": "What Killed Perl?"}, {"id": 735695648, "item_id": 45980978, "url": "https://news.ycombinator.com/item?id=45980978", "by": "runjake", "date": "2025-11-19", "stance": "warn", "quote": "I never took a liking to CPAN.", "excerpt": "I was a Perl programmer from the early 1990s until into the 2000s and I mostly agree with you. It was a variety of factors. The point where I disagree is I think Perl 6/Raku played a significant role in Perl's decline. It really gave me the perception that they were rudderless and that Perl probably had no future. Other than that, I absolutely loved Perl. I love the language. It's super expressive. I never took a lik", "context": "", "use_case": "", "switched_from": "", "story": "What Killed Perl?"}]}], "who": [], "tags": [], "use_cases": ["perl module installation"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=45977900", "title": "What Killed Perl?", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=48541940", "title": "The Raku Foundation is born", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47389924", "title": "Mass-Produced Software Components", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46359996", "title": "Lotusbail npm package found to be harvesting WhatsApp messages and contacts", "mentions": 1}], "sentiment_by_month": {"2025-11": {"warn": 3, "recommend": 2}, "2025-12": {"recommend": 1}, "2026-01": {}, "2026-02": {}, "2026-03": {"recommend": 1}, "2026-04": {}, "2026-05": {}, "2026-06": {"warn": 1}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 777597808, "item_id": 48599863, "url": "https://news.ycombinator.com/item?id=48599863", "by": "lizmat", "date": "2026-06-19", "stance": "warn", "quote": "The Perl 5/CPAN ecosystem has been left to rot and is no longer safe for consumption.", "excerpt": "* No separate types of bytestrings versus sequences of unicode codepoints. Fixed in Raku. You either have a string (Str) or a bytestream (Blob). Wherever there's strings in any non-trivially-sized real-word Perl 5 project, there is utter irreversible and irredeemable mojibake. No mojibake in Raku. * No canonical way to do object-orientation. (cf. blessed objects, Moo in different versions, and different conventions a", "context": "", "use_case": "", "switched_from": "", "story": "The Raku Foundation is born"}, {"id": 758247120, "item_id": 47390445, "url": "https://news.ycombinator.com/item?id=47390445", "by": "PaulHoule", "date": "2026-03-15", "stance": "recommend", "quote": "There is the fact of having a system of distribution like the original CPAN", "excerpt": "leftpad. It's a rich document to read in terms of thinking about those times and how it is like today. For instance when it comes to text parsing people very much use regex or something like lex or yacc and you can count on regex in the standard library. There is the fact of having a system of distribution like the original CPAN https://www.cpan.org/ which is independent of many other technologies such as namespaces ", "context": "", "use_case": "", "switched_from": "", "story": "Mass-Produced Software Components"}, {"id": 741767872, "item_id": 46360492, "url": "https://news.ycombinator.com/item?id=46360492", "by": "anthk", "date": "2025-12-22", "stance": "recommend", "quote": "At least they seemed to have policies", "excerpt": "Does this happen with CPAN? At least they seemed to have policies: https://security.metacpan.org/", "context": "", "use_case": "", "switched_from": "", "story": "Lotusbail npm package found to be harvesting WhatsApp messages and contacts"}, {"id": 735790368, "item_id": 45986898, "url": "https://news.ycombinator.com/item?id=45986898", "by": "pragmatic", "date": "2025-11-19", "stance": "warn", "quote": "I fought cpan for two days trying to get anything to work.", "excerpt": "I had to build a custom middle ware sso thingy that ran on six and worked with ssl certs. I fought cpan for two days trying to get anything to work. Switched to java, had it done and in production in an afternoon. Not a fan of Perl.", "context": "", "use_case": "Perl module installation", "switched_from": "", "story": "What Killed Perl?"}, {"id": 735764848, "item_id": 45985303, "url": "https://news.ycombinator.com/item?id=45985303", "by": "warpspin", "date": "2025-11-19", "stance": "warn", "quote": "the real and absolutely major problem at that time was the success of CPAN, which \"killed\" Perl 5", "excerpt": "I have been using Perl for almost 30 years now, privately and professionally. People here tend to say, Perl 6 or Python killed it, but that's not what I experienced in those 30 years. Not that simple. It was a combination of things, the Perl 6 announcement was one of the smaller parts actually. - TIMTOWDI lost against \"batteries included\", and it lost big: It's not so much that the simpleness of the Python language w", "context": "", "use_case": "", "switched_from": "", "story": "What Killed Perl?"}, {"id": 735757793, "item_id": 45984862, "url": "https://news.ycombinator.com/item?id=45984862", "by": "sleepybrett", "date": "2025-11-19", "stance": "recommend", "quote": "", "excerpt": "Yeah i'll say, even to this day, when I need a quick script and bash just isn't doing it for me I'll just write it in the same perl I used regularly as far back as 1998... but it never goes further than that. If I have to take that script and build it into anything that will ever leave my laptop it's going to get rewritten in something else (probably golang since it is universal on my team).", "context": "", "use_case": "", "switched_from": "", "story": "What Killed Perl?"}, {"id": 735710544, "item_id": 45981909, "url": "https://news.ycombinator.com/item?id=45981909", "by": "leejo", "date": "2025-11-19", "stance": "recommend", "quote": "CPAN was a killer app", "excerpt": "I may blog about this next year, again[^1], as I'm working on a project that sort of covers it - not in a way that will answer the question but more observational. Anyway, I feel Perl's popularity was hugely exaggerated in the mid to late 90s and early 00s. The alternatives were either not there in terms of language and toolchain features, ease of use, \"whipuptitude\" or whatever, or library support (CPAN was a killer", "context": "", "use_case": "", "switched_from": "", "story": "What Killed Perl?"}, {"id": 735695648, "item_id": 45980978, "url": "https://news.ycombinator.com/item?id=45980978", "by": "runjake", "date": "2025-11-19", "stance": "warn", "quote": "I never took a liking to CPAN.", "excerpt": "I was a Perl programmer from the early 1990s until into the 2000s and I mostly agree with you. It was a variety of factors. The point where I disagree is I think Perl 6/Raku played a significant role in Perl's decline. It really gave me the perception that they were rudderless and that Perl probably had no future. Other than that, I absolutely loved Perl. I love the language. It's super expressive. I never took a lik", "context": "", "use_case": "", "switched_from": "", "story": "What Killed Perl?"}]}