23 ms·
Perl Turns 34 Today
- arrakeen 5y agohappy birthday! the thing that made me realize that perl was a truly great, one-of-a-kind language was Acme::Bleach[0] [0] https://metacpan.org/pod/Acme::Bleach https://metacpan.org/pod/Acme::Bleach
- newaccount2021 5y agoPerl has been rewarding me for decades. I will be paying for my kids' college with money I made with Perl. P5P is still active. The packages I use are still updated regularly. Perl itself is released like clockwork. Perl isn't going anywhere! Thank you Larry for building the tool that paid for my family's life
- pkrumins 5y agoAnd mine. Thank you for all Perl and Larry Wall!
- deleted 5y ago[deleted]
- kbenson 5y agoIf only it didn't feel like it passed away years ago. :( I mean I still write Perl for my day job, and I like the language, but unfortunately that doesn't change the reality.
- mrweasel 5y agoWe still have a few projects running Perl under mod_perl. They are about absolutely wonderful to manage, and the developers love working on them. Still, you're right, reality is that there are no new Perl projects. In our case Flask and FastAPI has taken the role of as default framework for APIs and with Java and Springboot being the default for everything else. Some days you just want to work on something simple, something old-school, and for those days, Perl is happiness.
- pkrumins 5y agoAgree 100%. Perl is life.
- petepete 5y agoI started with Perl but moved to Ruby in the mid 00s. Ruby always felt like it gave me everything Perl did (performance aside, at the time), but with syntax that felt more intuitive.
- zerocount 5y agoRuby's the most intuitive language I've ever used and my favorite to write in, but Perl and raw JavaScript are just dirty, tough, cowboy languages that are a blast to code in. You can just let go with all the best practices and write some gnarly stuff.
- onion2k 5y agoIs Perl 6 out yet? :)
- tadzik_ 5y agoIt was renamed as others mentioned, but 6.c (for Christmas) came out almost 6 years ago, on December 24, 2015. https://perl6advent.wordpress.com/2015/12/25/christmas-is-here/ https://perl6advent.wordpress.com/2015/12/25/christmas-is-he...
- ainar-g 5y agoNo, and never will, Perl 7, on the other hand, is in development[1]. [1]: https://www.perl.com/article/announcing-perl-7/?ref=alian.info https://www.perl.com/article/announcing-perl-7/?ref=alian.in...
- riedel 5y agoWell it is now raku which i guess was a sensible decision at the time. In hindsight it might not have even mattered to add more minors to perl 5
- AceJohnny2 5y agoPerl 6 was renamed to Raku in 2019 [1], when they finally admitted to themselves that it wasn't going to be "the next Perl" https://github.com/Raku/problem-solving/pull/89#issuecomment-541628893 https://github.com/Raku/problem-solving/pull/89#issuecomment...
- lizmat 5y agoThere was no admitting to themselves. There was the personal realization that the two factions in what was then the Perl community, would never see eye to eye on what the language called "Perl 6" was. And that all of my efforts of reconciliation, such as the Perl Reunification Summit http://blogs.perl.org/users/gabor_szabo/2013/02/perl-reunification-summit-2012.html http://blogs.perl.org/users/gabor_szabo/2013/02/perl-reunifi... had been in vain. Which lead me to open an issue https://github.com/Raku/problem-solving/issues/81 https://github.com/Raku/problem-solving/issues/81 which in the end resulted in the rename to the Raku Programming Language https://raku.org https://raku.org .
- dgl 5y agoI didn't realise the tests[1] existed back in 1987. Presumably one of the longest continuously maintained test suites. Using what's now called Test Anything Protocol[2] (TAP). [1]: https://github.com/Perl/perl5/commit/8d063cd8450e59ea1c611a2f4f5a21059a2804f1#diff-be69fb8da494869bf6d03ce99a3896b50ee6ba9e44d4057b42f2297071a08b29 https://github.com/Perl/perl5/commit/8d063cd8450e59ea1c611a2... [2]: https://testanything.org/ https://testanything.org/
- asicsp 5y agoI was introduced to Linux, Vim and Perl when I joined a semiconductor company back in 2007. Used them as part of writing tests in asm, automated test generation and other text processing. I've heard that these days they've moved to Python (which reflects my own preference for writing scripts). I still use Perl for cli one-liners when sed/awk aren't enough.
- vinkelhake 5y agoOne of my early jobs in the industry, some 20 years ago, was at a little company that had a stock trading system mostly written in Perl. My experience with Perl prior to that had been simple CGI programming and odd scripts. The trading system was for the exchange side. Working on that system taught me a lot of things ("wtf is bless?"). Perhaps most importantly it showed me that Perl can be beautiful. That system ran a few small exchanges for many years. I doubt anyone who traded on them knew that their orders were handled by a big Perl system.
- technofiend 5y agoOne of my earliest jobs while still in high school was working for a laser printing and microfiche shop. We got all kinds of tapes from customers in all sorts of formats so I built a skillset of parsing and manipulating data in the tools available which were Snobol, PL/1 and Fortran. Lol. Later after devouring the dragon book and learning YACC and so on it was hella fun to write parsers in 'C' for my new employer. In fact I got a contract to do some data munging for a gas pipeline because their processes needed some serious help, and that's when I discovered PERL. Larry Wall's reporting language turned me into a super hero because although I was already fast dealing with data, PERL meant I could turn around any request in a few hours. It was (and still is) amazing.
- yobert 5y agoI've been maintaining a large perl codebase that I and some friends wrote for 20 years now. It sure has some cruft, but I am often blown away by how massively productive I am in it. And in 20 years, Perl has never broken compatibility for us that I know of. (Though a few spooky CPAN that relied on unsafe internals did require fixing.) One interesting thing I've noticed about perl is that almost all the examples of how to do something online are absolutely terrible. Our codebase is good because we learned how to write perl clearly, and it looks nothing like how we started out from examples. Anyways, I don't really have a point, except to say Perl really is amazing, even if it's not really growing nowadays. I think it will be around for ages to come.
- cglong 5y agoDo you have any good examples of how to get started with Perl?
- eCa 5y agoSlightly related to your question, if you do get started with Perl you might find Task::Kensho[1] useful. It is a curated list of recommended CPAN[2][3] distributions for various tasks. CPAN is vast, so it is useful also as an introduction to CPAN itself. [1] https://metacpan.org/pod/Task::Kensho https://metacpan.org/pod/Task::Kensho [2] https://metacpan.org/ https://metacpan.org/ [3] https://en.wikipedia.org/wiki/CPAN https://en.wikipedia.org/wiki/CPAN
- walterbell 5y agoIs there a good chance of those distributions supporting Perl 7?
- eCa 5y agoI would presume that most (if not all) code that runs on Perl5 v32 will also work on Perl7. (Based on what I know about the plans for Perl7.)
- Andrew_nenakhov 5y agoOh crap. I used to do a little perl programming in early 2000. But around 2005 I discovered python and never looked back. I've seen things, you see, terrible _ things.
- thanatos519 5y agoTry Ruby.
- pkrumins 5y agoEWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- pkrumins 5y agoPython is the ugliest garbage language ever created. The fact that it forces indenting alone is a reason to never use it. Let alone all other garbage features it has that no one needs (all PEPs that are irrelevant and should be left to users).
- Andrew_nenakhov 5y agoI adore forced indenting. Always hated curly braces and begin ends, which needlessly eat away lines
- deleted 5y ago[deleted]
- pkrumins 5y agoEwwwwwwwwwwwwwwwwwwwwwwww
- Andrew_nenakhov 5y agoHow old are you? I thought it is illegal for underage persons to run companies.
- bobo57 5y ago>this package requires Perl 5.22 or it will burn Compatibility what?
- stvkoch 5y agoI started learning Perl when Hotmail was launched and I wanted to know how to run programs over CGI. I fell in love by the web thanks to Perl
- pkrumins 5y agoSo great!
- rwmj 5y agoI'm really glad that EXTERN.h was in the first release. If you've ever written a Perl extension, you have to include EXTERN.h, perl.h (also there) and XSUB.h (not there).
- pkrumins 5y agoMVP right here!
- MichaelMoser123 5y agohappy birthday Perl! I think it is a very nice programming language. If you manage to write junk in perl, then you will probably manage to write junk in any language. I think it's not so much a problem of the language, it's a problem of of how to approach things.
- pkrumins 5y agoHappy birthday from me as well! The greatest language! Screw you junk programming languages!
- zbentley 5y agoCould you please stop carpet bombing this post with identical, substanceless comments? The fact that other folks here are posting snippets to mute you indicates that you're dragging the quality of discussion down for the rest of us. We get it. You like perl and dislike many other languages. You can stop now.
- forinti 5y agoThe oldest thing still running I have ever written is a small Perl program that uses OLE to access Word and convert docs to PDF. It has had a few tweaks over the years, and is now nearing 20 years of age. I've used it in different companies I have worked for. The job I had the most fun at was probably one in which I had to extract data from various documents (xls, doc, etc). All with Perl, of course. I don't think any other language or library would have enabled me to be so productive at this particular task. So congrats to this wonderful language and its creator, Larry Wall.
- unixhero 5y agoThat is very cool. Maybe you should publish it open source! Nowadays it would be rather easy to do it on python or ruby with a library that reads these filetypes.
- anthk 5y agoPerl already had libraries for those, and zillion more in CPAN. With Rivescript you could even write a chatbot, and OFC the "original" one for Perl was "MegaHal". Also, it made pretty easy to bind the chatbot to an IRC network (and later, MSN and Jabber). Good times.
- weare138 5y agoYears ago I made a Perl AIM bot that used MegaHal has the backend and would turn it loose in chat rooms.
- pkrumins 5y agoI just recently wrote a program that creates CHM files in Perl. Took me like 7 minutes and job was done. All hail Larry Wall!
- jwr 5y agoThank you, Perl. I can still run my perl5 scripts from 1995. Perl is one of the very few software systems that take backwards compatibility seriously. That is especially visible when compared to some recent languages that are in fashion today, where if you so much as sneeze after several months, all of your software and dependencies are suddenly broken, and you need to rewrite your software, just because somebody thinks that This is How it Should Be Done. The only other comparable language is Clojure, where backwards compatibility is treated as a priority, and I can still run my programs from 12 years ago without a hitch. This is important, and it is something that you learn to appreciate as you get older. When I was 25 I also didn't care.
- wscott 5y agolong ago I submitted code to perl to help it run nicely on AIX workstations that were at use at Intel at the time: https://github.com/Perl/perl5/blob/3e25f6d2dce9289bf3894d673f992195fb530d8e/ext/DynaLoader/dl_aix.xs#L3 https://github.com/Perl/perl5/blob/3e25f6d2dce9289bf3894d673... Then in 1999, Red Hat files an IPO and offers free shares to open source developers. That blurb in the perl source got got me included in the Red Hat IPO but the email was so strangely worded I assumed it was spam and deleted it. Oh well.
- ddon 5y agoMy project [1] still running on Perl, and it is 23 years old and still works and millions of people use it... Back then we wrote custom template system from scratch, and we never upgraded to anything. [1] https://fotki.com https://fotki.com
- pkrumins 5y agoHoly cow, didn't expect the founder of this amazing service here. I'm a super super happy customer! Thanks for making the project and for using Perl. Without Perl it would be a complete disaster, I'm sure.
- Rygian 5y ago> Perl is kind of designed to make awk and sed semi-obsolete. I routinely use awk and sed today, and avoid Perl like the plague. My experience says that something went very wrong in trying to achieve that initial design goal.
- pkrumins 5y agoPerl has always been and will always be the greatest language. I still use Perl daily and get things done fast. While you are matching your types in your fancy garbage language (Rust, Haskell, etc), I already did the job, solved 25 other problems, and signed up 10 new customers.
- rurban 5y agoBefore I turn to python for many C library projects of mine, I rather use a short mkstuff.pl generator to prepare proper data structures. The few python test runners I maintain cause much more trouble and do much less, than my dejagnu, autotools, cmake, or shell test runners. But when I'm needing a mock service to test against, I happily use python (or just C). A multithreaded C server is still easier written in C than python or perl. And 100x faster.
- tannhaeuser 5y agoHappy birthday, Perl. Paradoxically, Perl 6/Raku's extremely long development cycle has led to Perl 5 "stagnation", in other words stability, which is a good thing. Personally, I didn't like that Perl has spoiled the concept of regexps with (Turing-complete?) constructs when it originally was beautifully aligned with the regular/context-free-and-above language dichotomy. And that Perl came to replace my beloved, and portable, awk/shell scripts. Aaand that Perl, for a while, usurped the ".pl" file suffix, when everybody knows it belongs to Prolog programs.
- pkrumins 5y agoHappy birthday from me as well! Perl 6 was a huge mistake. Catastrophically bigger than Python's version 3. Somehow developers put up with upgrading to Python 3, but ain't nobody upgrading to Perl 6.
- bonniejawker 5y agoI often thought about this. How come perl didn't choose .prl instead?
- pkrumins 5y agoBecause no one gives a crap about Prolog. PL is Perl (is life).
- cesarb 5y agoAFAIK, the Unix filesystems of that era had a limit of only 14 bytes for the filename. With a limit that short, every character counts. (Nowadays, the most common filename size limit seems to be either 255 bytes or 255 characters, depending on the filesystem.)
- Scubabear68 5y agoSadly it has bit rotted away, but Steve Yegge made a passing reference to my short blog entry on “perlaphobia” some fifteen-ish years ago. Perl had a strange, mystical effect on my generation of developers, truly a frenemy kind of relationship where you need to constantly relearn it and undergo cycles of love, loathing, confusion, and rediscovery. https://sites.google.com/site/steveyegge2/decision-time https://sites.google.com/site/steveyegge2/decision-time
- deleted 5y ago[deleted]
- pkrumins 5y agoI illustrated Larry Wall: https://comic.browserling.com/camelia.png https://comic.browserling.com/camelia.png
- bloopernova 5y agoThank you Perl for being glue. Migrating hundreds of thousands of email accounts from one system to a new one. Source information was variously LDAP, custom information systems, Lotus crap, etc etc. Destination was another LDAP server. Perl took all that text in, munged it around, then loaded it into the destination. Back then I didn't know it was called ETL, and to me it was like magic that I had written. Out of all the ETL systems and languages I've encountered over the years since then, Perl has been the fastest to develop and most flexible. The "text in, regex or otherwise select into objects, transform stuff, then transmit to server" abilities of Perl were just so slick. Also, Perl is partly responsible for my move to the USA. Slashdot and its associated Everything2 site were written in Perl, and I met my (now-ex) wife through Everything2. Thank you, Perl, for being pretty danged awesome and oh so flexible. :) EDIT: and thank you Larry Wall for showing me that programming doesn't have to be stodgy and boring, that language has beauty.
- walterbell 5y ago2016, "A Brief Overview of Resources for the Perl Programmer", by David Adler (RIP) https://www.youtube.com/watch?v=C_Tz6U5jJ9M https://www.youtube.com/watch?v=C_Tz6U5jJ9M
- pkrumins 5y agoRemember what Perl is all about: https://i.imgur.com/qo7fKLc.png https://i.imgur.com/qo7fKLc.png
- ether_at_cpan 5y agoYou just confirmed for me that you can't be more than twelve years old.
- deleted 5y ago[deleted]
- moltar 5y agoThank you you Perl! Wrote my first CGI script in 1998 to be hosted on Hypermart. I’m still maintaining a large Perl project these days. Mostly out of love, not money. But my heart is in TypeScript these days :)
- deleted 5y ago[deleted]
- forinti 5y agoOne feature of Perl which came to my mind this week because of the log4j vulnerability was Taint Mode. It turns out some people have been studying this for Java: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.3118&rep=rep1&type=pdf https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94...
- pkrumins 5y agoLOL ALL JAVA PROGRAMMERS AND LOG4J. LOL^2.
- HeckFeck 5y agoWhilst I missed the boat on Perl by a decade or two, I was exposed to it in a previous job. I was intrigued by its flexibility and power. It seemed so much could be accomplished with just the right knowhow. So gradually over the years I've dipped in and out of Perl. I've found the learning curve much steeper than Python, or even C, but once surmounted the payoff is immense. So I eventually wrote my own static website generator in Perl, available here for the curious: https://github.com/lordfeck/rsru https://github.com/lordfeck/rsru A sample of what it generates is here: http://wmw.thran.uk/ http://wmw.thran.uk/ Even lately at work, I was tasked with the tedious job of manually converting JSON files into Excel for a customer to review, then we'd have to convert them back to JSON. Guess what I did instead ;)
- kebos 5y agoDefinitely enjoy Perl to this day for how fast you can achieve things with it. Most of my work goes through evolutions depending on eventual use. Many staying in the first phase. Proof of concept/one shot work just needed by me: Perl Needed by internal or external developers who know what they are doing: Python3 rewrite Needs to be robust: Java/C/C++/Rust The speed with which you can prototype by piecing together micro C programs mixed with Perl orchestrating them is really something that has benefited me throughout my career!
- martinclayton 5y agoA former colleague, a great generalist, calls Perl his second language: the first being English. I started using it in the early 90s and it's paid the bills ever since. Thanks to Larry and the whole community.
- pkrumins 5y agoFor some people Perl is the first language. Thanks everyone!
- ospzfmbbzr 5y agoThe first web application I wrote back in 1999 was a Perl CGI interface to a satellite ground control point (known positions) database. It worked ok but then I was put on another project. I recall struggling to get the correct GD libs installed that supported GIF and JPG so I could build the GD Perl mod.
- darrenwestall 5y agoI’m a Perl developer and have built a $2m ARR business that runs on Perl! If anyone reading this is looking for a new challenge and loves Perl, do give me a shout. Happy Birthday my old friend!
- pkrumins 5y agoMVP. This is exactly why you use Perl. Happy (repeated) birthday from me as well!
- acomjean 5y agoHappy Birthday! Where I work our most popular site is written in Perl. It keeps running. Our previous intern wrote the processing pipeline that I just ran this week in perl that processes 100s of gigs of NCBI data into our database tables. It’s totally the right tool for this job. I find it a beautiful and at times difficult to maintain. CPAN is amazing until it’s not. Though the fact Perl 6 failed means less having to update these backend scripts which is nice).
- SergeAx 5y ago> Perl is kind of designed to make awk and sed semi-obsolete. That obviously didn't age well.
- FragenAntworten 5y agoA particular user left many low-signal comments on this post, which was distracting, so I wrote a small userscript to remove the comments of arbitrary users. Sharing here in case anyone else finds it useful. // ==UserScript== // @name Mute users // @namespace Violentmonkey Scripts // @match https://news.ycombinator.com/item // @grant none // @version 1.0 // @author - // @description 12/18/2021, 9:43:19 AM // ==/UserScript== const mutedUsers = ['usernamehere']; // <== CHANGE THIS window.addEventListener('DOMContentLoaded', mute); function mute() { for (const mutedUser of mutedUsers) { const result = document.evaluate(`//*[@class="hnuser" and text()="${mutedUser}"]/ancestor::*[contains(@class, "comtr")]`, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE); for (let i = 0; i < result.snapshotLength; i++) { const el = result.snapshotItem(i); el.remove(); } } }
- Tomte 5y agoUsers don't seem to flag those comments, even the two-words-in-uppercase comments. Most of those are still live, even ten hours later. This isn't a "wait a bit and things will be fine" situation. Flagging and voting has always been controversial on HN, but when it doesn't work at all even with those — I have no idea how it could work with slightly controversial political stuff.
- fdgdd 5y agoAnd here's the uBlock Origin version: news.ycombinator.com##tr[class="athing comtr"]:has(a[href="user?id=usernamehere"])
- libx 5y agoHi Perl fans! I've never programmed in Perl, but a couple years ago I read a Raku book and was delighted with the language. At the time, I was interested in learning a new scripting language. Raku and Tcl were at stake. I built a small script to compare the run speed and Raku was about 40 times slower than Tcl for my use case, if my memory is not betraying me. So, I went for Tcl that I also like very much. Still, there's some opportunity for Perl, as I may need it in the short future. From the features of Raku that are mentioned in the home page, namely: 1. Object-oriented programming including generics, roles and multiple dispatch 2. Functional programming primitives, lazy and eager list evaluation, junctions, autothreading and hyperoperators (vector operators) 3. Parallelism, concurrency, and asynchrony including multi-core support 4. Definable grammars for pattern matching and generalized string processing 5. Optional and gradual typing what are the ones that will be available for Perl7, which I've already read that will be similar to the last Perl5 with saner defaults?
- lizmat 5y ago"Object-oriented programming including generics, roles" is basically it, as far as I know following developments from an appropriate distance.
- nunez 5y agoAnd Amazon.com will keep it alive for 34 more :) Jokes aside, Perl is the swiss-army knife of programming. It can do anything, most Linux variants have some version of Perl installed, and you can cut yourself very easily.
- ok_dad 5y agoMy first job as a teenager was writing Perl scripts for what I now realize was a phone marketing company. I would do things like process phone numbers and replace area codes with newly added area codes depending on the other digits and process data from contacts to produce a list of phone numbers that the other employees would then call in order. I don’t recall much but I do know Perl was a joy for text processing, much easier than anything else I’ve used for that today. That was back when you needed the big oreilly books to lookup for to do things, before Google was useful for that.
- ei8ths 5y agoLove Perl, been developing with it for 13 years.
- cafard 5y agoUser since Perl 4. I installed Perl 5 so that we could run "SATAN" (http://www.porcupine.org/satan/ http://www.porcupine.org/satan/), and Perl 5 was so new that "eval" blew up--I had to install a slightly newer release. I have written some pretty nasty Perl code, and some that I thought was pretty clean. I have saved massive amounts of my and other people's time with Perl. But over the last several years, I have written more Python, to the point that I run "perl -c" on a one-off script, and wonders why it objects to "def myfunc {...", and I leave out semi-colons. I write the Python because the young now seem to have learned Python in middle school, and they're going to be in the workforce a good deal longer than I am. [edit: added URL for SATAN]