Historical note: the original coding advent calendar was the Perl Advent Calendar, started in 2000 and still going.
https://perladvent.org/archives.html
Advent of Code is awesome also of course -- and was certainly inspired by it.
HN user
Historical note: the original coding advent calendar was the Perl Advent Calendar, started in 2000 and still going.
https://perladvent.org/archives.html
Advent of Code is awesome also of course -- and was certainly inspired by it.
I haven't seen frameworks in other languages rival mojolicious for rapid prototyping, web scraping, and good event-driven support. It's super easy to make websockets and even quickly have unit tests. Mojolicious still has 0 external dependencies and is rock solid and very scalable. The simplicity is just very nice compared to, for instance, frameworks in which lots of code generation is involved just to get started.
Lots of interesting comments about Perl's shortcomings here. I think it's safe to say both Ruby and Python became popular because they addressed this sentiment -- for instance, type "man ruby" and notice references to Perl twice in the description. Python's "one way to do it" was a direct reaction to Perl's motto "there's more than one way to do it".
Perl 6/Raku was also a response to Perl's shortcomings. The rewrite has allowed the language to leapfrog several other languages in various ways. Without going into details, I'm thinking about just concurrency, gradual typing, parsing, method dispatch, unicode handling -- digging into any one of these topics reveals a lot of richness to be explored.
This is a _perfect_ case -- to get started, you can just put `shell` in front of every line
#!/bin/bash
echo hello
change to #!/usr/bin/env perl6
shell "echo hello"
then for arguments, try making `foo.p6` #!/usr/bin/env perl6
unit sub MAIN($name,:$times,:$language);
say $name, $time, $language
and run ./foo.p6 --help"The winner is the one who gives the most away." -- Larry Wall
Perl bookends the career of the author of this article, so respect pls
$ docker ps | rb drop 1 | rb -l split[1]
$ docker ps | perl -anE 'say $F[1] if $.>1'
perl solved this problem a long time ago, people