Perl in 100 Seconds

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ก.ค. 2024
  • Perl is a dynamic scripting language popular among system administrators and web developers. It is syntactically similar to the C Programming Language, but designed for efficient text processing tasks.
    #programming #compsci #100SecondsOfCode
    🔗 Resources
    Perl Language www.perl.org/
    Perl Timeline history.perl.org/PerlTimeline...
    Autovivification perlmaven.com/autovivification
    🔥 Get More Content - Upgrade to PRO
    Upgrade to Fireship PRO at fireship.io/pro
    Use code lORhwXd2 for 25% off your first payment.
    🎨 My Editor Settings
    - Atom One Dark
    - vscode-icons
    - Fira Code Font
    🔖 Topics Covered
    - What is Perl?
    - Who created Perl?
    - Is Perl dead?
    - Perl Basics Tutorial
    - How to get started with Perl?
    - Perl vs Python
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 913

  • @Fuduwahluz
    @Fuduwahluz 2 ปีที่แล้ว +3191

    "It's about writing scripts that no one can read or understand, so they can't fire you" - excerpt from a interview with a pearl developer, Walter Wallis

    • @theterribleanimator1793
      @theterribleanimator1793 2 ปีที่แล้ว +116

      visionary.

    • @charlesm.2604
      @charlesm.2604 2 ปีที่แล้ว +92

      This guy is an actual genius

    • @ariunboldoyungerel6649
      @ariunboldoyungerel6649 2 ปีที่แล้ว +5

      😂

    • @basicnpcc
      @basicnpcc 2 ปีที่แล้ว +153

      That is under the assumption that I can understand my own code more than a month after I write it

    • @PGVladimirovich
      @PGVladimirovich 2 ปีที่แล้ว +97

      "What happens in the 80s stays in the 80s... Except for Perl" - WW

  • @4.0.4
    @4.0.4 2 ปีที่แล้ว +2377

    C: write once, compile everywhere.
    Java: write once, run everywhere.
    Perl: write once, read never.

    • @AByteOfPi
      @AByteOfPi 2 ปีที่แล้ว +86

      just wait until you hear about APL

    • @blackzakuya
      @blackzakuya 2 ปีที่แล้ว +17

      Confused every other time.

    • @truthmatters7573
      @truthmatters7573 2 ปีที่แล้ว +120

      Python: write once, then rewrite it in Rust for blazing fast memory safe performance.
      I do love python, though.

    • @roronoazoro7619
      @roronoazoro7619 2 ปีที่แล้ว +126

      Correction: Java is write once debug everywhere

    • @Flankymanga
      @Flankymanga 2 ปีที่แล้ว +4

      oh how true this statement is...

  • @DesTr069
    @DesTr069 2 ปีที่แล้ว +3766

    Having “my” and “our” as what determines if a variable is local or global is really funny to me 😅

    • @DreamskyDance
      @DreamskyDance 2 ปีที่แล้ว +685

      I guess every time you define a global var in perl soviet anthem starts playing...

    • @klittlet
      @klittlet 2 ปีที่แล้ว +442

      Capitalist vs communist variable

    • @falconlewitteducation4941
      @falconlewitteducation4941 2 ปีที่แล้ว +94

      @@klittlet Yes Comrade

    • @khaled-0
      @khaled-0 2 ปีที่แล้ว +80

      Our variable ←_←

    • @adrianojose7172
      @adrianojose7172 2 ปีที่แล้ว +45

      funny to US! *soviet anthem intensifies*

  • @williamchamberlain2263
    @williamchamberlain2263 ปีที่แล้ว +209

    Yes, I definitely want a language that has necromancy as a core feature

  • @Kyagara
    @Kyagara 2 ปีที่แล้ว +609

    "What happened in the 80s stays in the 80s, except perl" - Perl poet

    • @hanswoast7
      @hanswoast7 2 ปีที่แล้ว +4

      Even the terminator could not help it :D

    • @randomrfkov
      @randomrfkov 2 ปีที่แล้ว +2

      Perl devs still use telnet BBS for social media

    • @YourNickIsTaken
      @YourNickIsTaken 2 ปีที่แล้ว

      And mRNS vaccines.

    • @Redcactus5
      @Redcactus5 ปีที่แล้ว

      Like that one SpongeBob meme

    • @vladverified7659
      @vladverified7659 ปีที่แล้ว +2

      I’ve lived to see a programming-medieval literature crossover joke. I can now die in peace

  • @mobeen360
    @mobeen360 2 ปีที่แล้ว +126

    I accidently discoverd it when i was in my vscode making a new python file but instead of typing .py extension I typed .pl which displayed a little camel icon and then I googled "programming language with camel icon". That's how I found it lol😂

  • @subrotoxing8214
    @subrotoxing8214 2 ปีที่แล้ว +374

    So grateful for these 100secs series... just what i needed 20 years ago :(

    • @StfuSiriusly
      @StfuSiriusly 2 ปีที่แล้ว +10

      why? these videos are great but just show a very short over view. how would that have helped you 20 years ago?

    • @jaysonmichael2468
      @jaysonmichael2468 2 ปีที่แล้ว

      @@StfuSiriusly maybe because he need an introduction to programming language to understand the language more easily.

    • @Aragorn450
      @Aragorn450 2 ปีที่แล้ว +15

      @@StfuSiriusly Because we were programming in Perl, PHP, C++, JavaScript, etc, 20 years ago. So it'd have been nice to get these quick overviews of languages and their plus/minus back then instead of now after we've learned it all ourselves.

    • @subrotoxing8214
      @subrotoxing8214 2 ปีที่แล้ว +3

      @@StfuSiriusly someone told me perl was his favorite ... and i did not bother asking why ... because i knew i would be more confused hearing his explanation. a picture is a thousands word. had this video been available back then might convince me to bite the bullet and learnt perl ^^

  • @camstuart
    @camstuart 2 ปีที่แล้ว +155

    These x in 100 seconds series are really cool. One thing with Perl (have spent most of my career writing perl, but no longer) When accessing an element in an array or a hash, we use "scalar context" eg: my @items = (1,2,3); print "first item is: $items[0]
    "; Raku on the other hand uses the same sigil in all situations, so print "first item is: @items[0]
    "; would be correct

    • @TheLostBijou
      @TheLostBijou 2 ปีที่แล้ว

      I would have to favor Raku there. you can also represent scalar numbers readably, such as 1_000_000. It has many, many special features, but like everything that is powerful, it can be misused.

    • @JohnHughesChampigny
      @JohnHughesChampigny 2 ปีที่แล้ว +4

      @@TheLostBijou "you can also represent scalar numbers readably, such as 1_000_000" As you can in Perl.

    • @piotao
      @piotao 2 ปีที่แล้ว +2

      exactly, and this scalars with $ are 'perl way' as it always was! Is raku worth to learn at all, when we have Perl?

    • @TheLostBijou
      @TheLostBijou 2 ปีที่แล้ว +2

      Pio, from what little I know, yes. Especially if you are doing anything with language grammars. I haven't checked in on the language in a while, though.

    • @CraigCall
      @CraigCall ปีที่แล้ว +1

      I was about to make the same comment. I do prefer the Raku way of doing things personally and actually really like Raku as a language

  • @andresgz
    @andresgz 2 ปีที่แล้ว +158

    Please "use strict;" and "use warnings;" to make your code less error-prone

    • @RagHelen
      @RagHelen 2 ปีที่แล้ว

      Shut up, buzzkill.

    • @bit2shift
      @bit2shift 2 ปีที่แล้ว +7

      Don't forget `use English qw{-no_match_vars};` 😉

    • @andresgz
      @andresgz 2 ปีที่แล้ว +10

      @@bit2shift Just adding that the '-no_match_vars' avoided regex performance penalty in perl 5.18 and earlier.
      This was fixed in perl 5.20 so you can just "use English;" since then.

    • @scoreunder
      @scoreunder ปีที่แล้ว +3

      tacking onto that, if you declare a variable, go with `my` by default rather than assigning it out of nowhere

    • @kindlin
      @kindlin ปีที่แล้ว

      @@andresgz
      Wait, that's real code?
      I need to be running from this syntactic nightmare.

  • @pm71241
    @pm71241 2 ปีที่แล้ว +60

    Hmm... former long time Perl programmer here ...
    I somehow doubt that Perl's main usage nowadays is CGI scripts. ... that time has passed.
    It is used a lot for sysadm scripts and what it's backcronym says: "Practical Extraction and Reporting Language".
    It's very useful for quickly processing some input to some output when bash/sed/awk are too cumbersome. - which was kind of it's original purpose.

    • @bluesquare23
      @bluesquare23 2 ปีที่แล้ว +3

      Still lots of perl cgi based websites hosted at Pair Networks!

    • @robbrown2789
      @robbrown2789 ปีที่แล้ว +3

      Maybe moved to FastCGI or other protocols in more persistent environments, but still plenty of (new) websites/platforms being built in it. Things To Get Me is one of mine.

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      @@bluesquare23 Websites written in Perl don't have to be CGI. Preferable to use a framework like Catalyst (MVC pattern) with the Template Toolkit, or Mojolicious, or Dancer2.

  • @djcaesar9114
    @djcaesar9114 2 ปีที่แล้ว +130

    One of the most underrated languages. It saved me several times for big projects when it involved dealing with huge amount of data.

    • @_modiX
      @_modiX ปีที่แล้ว +3

      could you elaborate? Why was perl the best choice? Weren't there better alternatives?

    • @djcaesar9114
      @djcaesar9114 ปีที่แล้ว +23

      @@_modiX I had to develop a new major application with modern technologies to replace 2 old COBOL apps. I had to convert data handled by these two apps (a huge amount of more or less structured data) so that they would fit in my new PostgreSQL database.
      I wrote several scripts in several languages to treat every line of old data, applying a lot of tests and transformations, to get lines that could be injected in a correct PG database with good indexes, primary and foreign keys, etc.
      PERL was by far the fastest and most reliable.

    • @_modiX
      @_modiX ปีที่แล้ว +9

      @@djcaesar9114 That's a great observation. I will keep that in mind for my future works. Thank you for your response.

    • @djcaesar9114
      @djcaesar9114 ปีที่แล้ว +2

      @@_modiX you're welcome, if my experience could help fellow developers, it's great! :)

    • @Demosai
      @Demosai ปีที่แล้ว +1

      Same same!

  • @leoaso6984
    @leoaso6984 2 ปีที่แล้ว +777

    The Perl language was so terse and minimal that the programming community rebelled by adopting Java.

    • @aziskgarion378
      @aziskgarion378 2 ปีที่แล้ว +57

      Yeah sure it was the programming community? And not the business managers who thought Java was the next hot thing and hired developers to write in that verbose monstrosity?

    • @masterflitzer
      @masterflitzer 2 ปีที่แล้ว +47

      @@aziskgarion378 Perl is still just a scripting language, writing big scale apps with it would be worse than with Java

    • @ellisgl
      @ellisgl 2 ปีที่แล้ว +11

      When PHP 4 came out, I learned that and forgot Perl.

    • @StefanReich
      @StefanReich 2 ปีที่แล้ว +12

      Yeah, Java's syntax is not the best that ever was. It's the JVM that makes the difference and it's the reason that Java is so successful. The JVM is just a fantastic engine that delivers on its promises.

    • @JustBCWi
      @JustBCWi 2 ปีที่แล้ว +8

      A comment that clearly does not understand the difference between a scripting language and a systems language. Java adoption was a rebellion against C++. Python & Ruby adoption was a rebellion against Perl. ;)
      The Perl core had not gone after Perl 6, and instead addressed some complaints by the community, then perhaps Perl would still be in the top 10. :shrug:

  • @kuma9239
    @kuma9239 2 ปีที่แล้ว +5

    The "my", "our" and "unless" are good ideas. You don't need to know them, but the moment you put your eyes on them you know what they mean.

  • @gerardgauthier4876
    @gerardgauthier4876 2 ปีที่แล้ว +9

    Perl in 100 secs... Where's the references? Where's the modules and packages? Love Perl, the most underrated and misunderstood language.

  • @bayrock1337
    @bayrock1337 2 ปีที่แล้ว +28

    I've been looking forward to this one! Can we see Lisp and/or Clojure next maybe?

  • @derjansan9564
    @derjansan9564 2 ปีที่แล้ว +5

    "Swiss army chainsaw" alone made it worth watching.

  • @pirate21
    @pirate21 2 ปีที่แล้ว +35

    Long time perl user - no other language comes close to the regex power of perl.

    • @xoell388
      @xoell388 ปีที่แล้ว

      Raku?

    • @pirate21
      @pirate21 ปีที่แล้ว +4

      @@xoell388 Ha, I can’t move off regular Perl after 25+ years. Something about “teaching an old dog” ….

    • @xoell388
      @xoell388 ปีที่แล้ว +1

      @@pirate21 I am keen to learn perl whatever people say

    • @pirate21
      @pirate21 ปีที่แล้ว +2

      @@xoell388 sure, go for it. The best place to start is with the O’Reilly “ programming Perl” book.

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      @@xoell388 Good for you. Ultra useful.

  • @esc120
    @esc120 2 ปีที่แล้ว +99

    1:33 array element should be accessed by $nums[1] and hash element should be accessed by $friends{'Larry'}.
    @nums[1] is an array slice with one element and @friends{'Larry'} is a hash slice with one element and %friends{'Larry'} is a hash slice with one key-value pair.

    • @dexterbt1
      @dexterbt1 2 ปีที่แล้ว +9

      Jumped here to comment on this also. A 'use strict' pragma might flag this compile time.

    • @DominicArkwright
      @DominicArkwright 2 ปีที่แล้ว +2

      Also came here to say this ;)

    • @pjmmccann
      @pjmmccann 2 ปีที่แล้ว +3

      Yep: it's a head-scratcher for every perl noob

    • @MattOatesUK
      @MattOatesUK 2 ปีที่แล้ว +1

      This needs pinning

    • @eritain
      @eritain 2 ปีที่แล้ว +2

      The sigil was wrongly omitted from the first `print` example too.

  • @apexphp
    @apexphp 2 ปีที่แล้ว +81

    Perl, my first love in the programming language. After 17 years, I even find myself using it daily these days. Converting and refactoring a bunch of Perl and Python scripts over to Rust atm. Good stuff.

    • @theroboman727
      @theroboman727 2 ปีที่แล้ว +10

      hearing rust always makes me happy lol. I love rust and this is my first time learning anything about perl and seems very interesting, but also way too complex for practical apps

    • @apexphp
      @apexphp 2 ปีที่แล้ว +7

      @@theroboman727 ehh, Perl is all but dead, which is how I got this contract. A biologist showed up in my inbox one day excitedly saying, "hey, I see Perl on your resume! I can't find anyone who knows this language, and I'm doing some cool DNA analysis work, can you help?". I obliged, then proceeded to convince him if processing time is of utmost importance, we really need to be on Rust, so off to the races with Rust we go. And yeah, love Rust as well.

    • @user-rd3jw7pv7i
      @user-rd3jw7pv7i 2 ปีที่แล้ว +9

      @@theroboman727 Rust's guidebook is basically the main reason why I fell in love with it. It feels like a friend guiding you to use a tool they create rather than a textbook telling you syntaxes and what not.

    • @Javier-ov3hj
      @Javier-ov3hj 2 ปีที่แล้ว

      @Apex and PHP Do you have any recommendations for learning perl or more specifically for converting perl to python?

    • @JustBCWi
      @JustBCWi 2 ปีที่แล้ว

      I gave up Perl for Ruby when Perl 6 was trying to come along. I build a major system in Perl, over 250K SLOC.

  • @collinthomas6288
    @collinthomas6288 2 ปีที่แล้ว +18

    It's been ten years since I've used Perl, but this video made me miss it. Great language

    • @k1lldash9
      @k1lldash9 ปีที่แล้ว

      Same!
      I like honestly how things can get convoluted, but simple once you know it
      my $cin = ;
      vs
      my $cin = ;
      less to type and achieves the same thing

  • @SleepingInsomniac19
    @SleepingInsomniac19 2 ปีที่แล้ว +5

    “Rej-ex”, ah yes a Rejular expression... just like a jraphical image format

  • @NNNedlog
    @NNNedlog 2 ปีที่แล้ว +53

    The "my" and "our" keywords is really amazing. Makes it easier to understand even if it's the first time hearing of this language

    • @Fooney1
      @Fooney1 ปีที่แล้ว

      I like VOID. Oh wait its dumb as hell

  • @bouncypeople8749
    @bouncypeople8749 ปีที่แล้ว +27

    I don’t know why, but this language connects with me on a deeper level. I love the fact that Perl isn’t like every other programming language. It’s uniqueness is what makes it so beautiful. Graciously powerful.

    • @games4us132
      @games4us132 ปีที่แล้ว +2

      If you're unique doesn't mean that you're useful

    • @hansdegroot652
      @hansdegroot652 11 หลายเดือนก่อน +1

      Just love how there are often many ways to do the same

    • @JamesSmith-ix5jd
      @JamesSmith-ix5jd 9 หลายเดือนก่อน +1

      I started my programming journey with Linux - Bash, awk, grep, regex, little bit of C, so Perl just clicks for me, but I guess it depends on your background.

    • @bouncypeople8749
      @bouncypeople8749 6 หลายเดือนก่อน

      @@games4us132I guess you are not a sysadmin 😂

    • @bouncypeople8749
      @bouncypeople8749 6 หลายเดือนก่อน

      @@hansdegroot652So many ways to accomplish the same goal.

  • @geoafrikana
    @geoafrikana 2 ปีที่แล้ว +43

    Perl: I'm the swiss army chainsaw of the internet.
    Python: There should be one- and preferably only one -obvious way to do it.

    • @dexterbt1
      @dexterbt1 2 ปีที่แล้ว +14

      In Perl, its TIMTOWDI actually, "there is more than one way to do it". Quite the opposite of the guidelines in the zen of python

    • @factChecker01
      @factChecker01 2 ปีที่แล้ว +7

      And Python's "one way" will change in the next release, but it will be even more perfect and final than the prior way. (sarcasm)

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน +1

      Apparently Python can't add:
      python -c "print('=',0.6+0.7)"
      = 1.2999999999999998 ❌(ouch!)
      ... whereas:
      perl -e "say('=',0.6+0.7)"
      =1.3 ✅

  • @andrewmanninen1244
    @andrewmanninen1244 2 ปีที่แล้ว +43

    It hurts to see the absence of "use strict;" at the top of the file.

    • @kalleguld
      @kalleguld 2 ปีที่แล้ว +2

      What is this, a crossover episode?

    • @HammerTime281
      @HammerTime281 2 ปีที่แล้ว +12

      And maybe a "use warnings" if you're feeling frisky

    • @DominicArkwright
      @DominicArkwright 2 ปีที่แล้ว +5

      If he did that, none of the other errors would work… ;)

  • @ambots13
    @ambots13 2 ปีที่แล้ว +3

    this channel is the best-place to window shop tech stuff

  • @neddev2990
    @neddev2990 2 ปีที่แล้ว +2

    Nice video, it's great to see perl being explored and described concisely by popular content creators here on youtube. I made a similar video to this a month or two ago... yours is a LOT better ;)

  • @SebastianWeinberg
    @SebastianWeinberg 6 หลายเดือนก่อน +1

    I have forgotten everything I ever learned about Perl, years ago, _except_ that it was the biggest collection of hacks and dirty tricks I'd ever seen, and I loved it!

  • @kevinbatdorf
    @kevinbatdorf 2 ปีที่แล้ว +18

    “Things that are different should look different”

    • @eritain
      @eritain 2 ปีที่แล้ว

      There is a conceptual elegance to, say, Lisp, where no matter how different things are, they all look the same. But I tend to agree with Larry that in practice, that turned into "oatmeal with fingernail clippings."

  • @misterlinuxfriendly947
    @misterlinuxfriendly947 2 ปีที่แล้ว +8

    I will list Perl on my resumé in the skills section as opposed to listing "Masochism" in the hobbies section, because, fittingly, that is more terse.

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      Terse and compact code scare you? You should get a load of APL.

  • @saidbakr
    @saidbakr 2 ปีที่แล้ว +5

    The matter of marketing. This is the great issue with Perl indeed.

  • @chloedelaware2922
    @chloedelaware2922 2 ปีที่แล้ว +7

    kinda wild this fireship guy managed to convince everyone 2 and a half minutes is 100 seconds

  • @bluesquare23
    @bluesquare23 2 ปีที่แล้ว +6

    The great thing about perl is that it's easy to write, fast, and remarkably useful. Larry Wall and his descendants did a great job!

    • @user-hs4zz1pq3i
      @user-hs4zz1pq3i 10 หลายเดือนก่อน

      I hope they some how get raku to mainstream

  • @markslima1557
    @markslima1557 2 ปีที่แล้ว +3

    wow this kind of blew me away. now i must learn perl.

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      Learning curve is *not* steep. It is shallow enough to get you writing simple scripts in a few minutes, but the learning curve can be somewhat long depending on how deep you have to go into the bushes to explore and use the many features and power it offers. And to use it *properly* so it avoids the points that people criticize it for.

  • @tinmank
    @tinmank 2 ปีที่แล้ว

    Thank you for your time to make these videos.

  • @Steve-i5295
    @Steve-i5295 11 วันที่ผ่านมา

    I like the fact I can write code in Perl without worrying about white spaces and having to use an auto fill gui code editor that shares all my stuff with big data if I am not careful. Most of the core features you will ever need on a web server are built in, you have to import hardly anything.
    The Active State community is where people were nudged if you did not take the time to get a grip on all the concepts.
    This was written as a possible replacement for C, and it was so well done it largely has not changed in quite a long time.
    Hats off to Larry. Learn this and you will stop chasing frameworks such as JQuery (horrors?).
    CSS another language people complain about, there are no short cuts to writing code and testing it.
    You got to pick up an instrument and play it to confirm you learned anything.
    A lot people never will, then later lament why the properietary multi megabyte or gigabyte database layer sitting on top of everything is so expensive?
    Word.

  • @nickxidis9571
    @nickxidis9571 2 ปีที่แล้ว +8

    Probably learned more about programming from Perl than any other language. That means that Perl is cool and I’m really old. ;)

  • @heckyes
    @heckyes 2 ปีที่แล้ว +3

    This is like PHP's old war veteran Grand Father.

  • @JuuzouRCS
    @JuuzouRCS 2 ปีที่แล้ว +8

    Now, this looks so much better, comprehensive and far more entertaining than my 4-man 15 mins presentation on "Perl" back in my first year of college...
    Cool stuff!

  • @Suraj-tz3oq
    @Suraj-tz3oq 2 ปีที่แล้ว +2

    Man you are great.. want a full length tutorial

  • @IngwiePhoenix
    @IngwiePhoenix 2 ปีที่แล้ว +175

    RegEx still breaks my braincells but man do I ever love Perl's syntax. I dont know what it is, but it just feels so well thought out. I learned a tiny bit of Perl when I read that PHP was influenced by it, and I immediately saw why and what. But I have not heared of Raku, gonna give it a look!

    • @b.wallet5295
      @b.wallet5295 2 ปีที่แล้ว +15

      You better don't..

    • @ipodtouch470
      @ipodtouch470 2 ปีที่แล้ว +22

      I don’t know how regex works underneath the hood but man after learning it has saved me so much time when parsing strings.

    • @HandcartRule46
      @HandcartRule46 2 ปีที่แล้ว +10

      RegEx is pretty easy, but you do need the proper resources to learn it.

    • @ali-om4uv
      @ali-om4uv 2 ปีที่แล้ว +1

      @@HandcartRule46 any tips?

    • @II-ii2um
      @II-ii2um 2 ปีที่แล้ว +3

      @@HandcartRule46 yes, pls enlighten us mere mortals good sir

  • @pm71241
    @pm71241 2 ปีที่แล้ว +21

    1:33 ... sigil errors. Unlike other languages with sigils, in Perl they do not follow the type of the variable, but the type of the expression.
    So it's no @nums[1] or %friends{'Larry'} ... it's $num[1] and $friends{'Larry'}

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      That is because $friends{'Larry'} is a *scalar* variable, and not an aggregate set like an array or hash (dictionary). Same with $num[1].

  • @afganitia
    @afganitia 2 ปีที่แล้ว +1

    Love the camel!
    Pd: Next fortran please!

  • @amitk.512
    @amitk.512 2 ปีที่แล้ว +55

    Variable scoping with 'my' and 'our' keyword was pretty cool.

    • @ab.3800
      @ab.3800 2 ปีที่แล้ว +3

      bless()

  • @philippefutureboy7348
    @philippefutureboy7348 2 ปีที่แล้ว +21

    This syntax sounds like a maintenance horror story :D
    Glad you included zombies, it's very on topic 😂

    • @pramod7426
      @pramod7426 2 ปีที่แล้ว +2

      You are absolutely correct worked on perl once, never again. It's OOPS is beyond horror

    • @valerie4275
      @valerie4275 2 ปีที่แล้ว +1

      @@pramod7426 why do you think it's called oops?

  • @mbbxx
    @mbbxx 2 ปีที่แล้ว +16

    Perl is the original "Write once, read never again" language

  • @KingXennodia
    @KingXennodia 2 ปีที่แล้ว

    Omg you have no idea how much k needed this

  • @hamidbluri3135
    @hamidbluri3135 2 ปีที่แล้ว

    Awesome Work! thanks for the video

  • @abh1yan
    @abh1yan 2 ปีที่แล้ว +85

    Never knew Perl is this useful, I'll definitely have a look.

    • @bobDotJS
      @bobDotJS 2 ปีที่แล้ว +15

      I really don't think it's worthwhile. I think that if you didn't realize it was useful, you probably aren't in a position where it will change your workflow.
      Maybe if you're writing crazy BASH scripts that are pushing the limits of the language, then you'd probably still choose something like Go long before it makes sense to use Perl.

    • @bryanwong1766
      @bryanwong1766 2 ปีที่แล้ว +14

      @@bobDotJS Perl has the advantage of being self-included in Linux and MacOS - so if you just want to get things done and bash isn't good enough, Perl is indeed a good solution.

    • @Jebusankel
      @Jebusankel 2 ปีที่แล้ว +8

      Check out Raku instead. It fixes so many warts in Perl and has lots of amazing farsighted features.

    • @milankoncsik9546
      @milankoncsik9546 2 ปีที่แล้ว +3

      For one liners or short scripts it's decent, but as soon you work on something relatively complex it gets really messy.

    • @abh1yan
      @abh1yan 2 ปีที่แล้ว +2

      @@milankoncsik9546 Yeah I'll better write assembly or maybe binary in case..

  • @josefmuller86
    @josefmuller86 2 ปีที่แล้ว +7

    Perl gets the job done, but nobody knows why

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      Only the woefully uninformed don't.

  • @benhuyck9797
    @benhuyck9797 2 ปีที่แล้ว +2

    Perl is likely the most powerful tool in my toolbox.

  • @luizvaz
    @luizvaz 2 ปีที่แล้ว +15

    In 2003 I was working to a telecom. There was one job that took 72 hours to complete. They put me on charge to optimize it. I was learning PERL, so I decided to give a try. It was already installed by default on HPUX. After all, the same job spent only 6 hours.
    In the end, they took a look in the code and said: "What the heck you used to write the script?"
    And they asked me to rewrite in ANSI C, because no one was able to understand it. 😂😂😂

  • @thatsalot3577
    @thatsalot3577 2 ปีที่แล้ว +3

    I honestly think 'my' and 'our' sound cooler than public and private.

    • @Birb-
      @Birb- 2 ปีที่แล้ว

      our $program;
      ussr anthem

  • @CalebHawn
    @CalebHawn 2 ปีที่แล้ว

    Wow, new video on Perl! I was wondering where it was.

  • @random-kc8gx
    @random-kc8gx 2 ปีที่แล้ว +1

    Seems like really handy legible thing to script and code in, here i was dreading it since i started coding 15years back, phew

  • @asdf8asdf8asdf8asdf
    @asdf8asdf8asdf8asdf 2 ปีที่แล้ว +4

    Love PERL.
    But, hey, I respect and like APL too.

  • @_zetrax
    @_zetrax 2 ปีที่แล้ว +3

    I used it once to parse webpages, It is actually cool

  • @atlantaguitar9689
    @atlantaguitar9689 ปีที่แล้ว +2

    I wrote a ton of Perl code in the late 90s into the early 2000s. I used it on web sites, in system administration, and in bioinformatics projects.

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      Outstanding.

  • @JackDespero
    @JackDespero หลายเดือนก่อน +1

    The funniest part about Perl is that I have always associated it with the Camel.
    And a couple of months ago I learnt that the actual mascot is an onion.
    The camel is just from the O Relly book.

  • @Shdnfncidjen
    @Shdnfncidjen 2 ปีที่แล้ว +3

    Perl programmer here. Interpreted is a bit of a misnomer... Perl is commonly known as an interpreted language, but this is not strictly true. Since the interpreter actually does convert the program into byte code before executing it, it is sometimes called an interpreter/compiler, if anything at all.

  • @JohnHughesChampigny
    @JohnHughesChampigny 2 ปีที่แล้ว +3

    First major error at 1:26. Access of an array element is $nums[1] (dollar because the RESULT is a scalar). Similarly to access a field of a hash its $friends{Larry} not %friends{Larry}

    • @divinecomedian2
      @divinecomedian2 ปีที่แล้ว

      shows how confusing the language is

    • @JohnHughesChampigny
      @JohnHughesChampigny ปีที่แล้ว

      @@divinecomedian2 What is this: "$a" -- answer it's a scalar, because it starts with a "$". What is this: "$b[20]" -- answer: it's a scalar, because it starts with an @. It's also one element of an array. What is this: "@b[20]" -- answer: it's an array, because it starts with an @. It happens to be a slice of the array @b that only contains the 20th element of @b.
      Perl6's "@b[20] is a scalar that is the 20th element of @b" is the confusing thing.

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      @@divinecomedian2 "Confusing" as opposed to what?? How about this gem 👇
      Apparently Python can't add:
      python -c "print('=',0.6+0.7)"
      = 1.2999999999999998 ❌(ouch!)
      ... whereas:
      perl -e "say('=',0.6+0.7)"
      =1.3 ✅

  • @captureimagery
    @captureimagery ปีที่แล้ว

    Sometimes I need a refresher when programming. This is the channel for that.

  • @renecabuhan1675
    @renecabuhan1675 2 ปีที่แล้ว +1

    it is actually good naming convention for variables ❤.

  • @akshattamrakar9071
    @akshattamrakar9071 2 ปีที่แล้ว +6

    my/our made more sense to me then anything else I've ever used like var, let, global

  • @raz0229
    @raz0229 2 ปีที่แล้ว +15

    According to Stack Overflow, Perl is the most paid programming language of 2022

    • @IronTeddyBear
      @IronTeddyBear 2 ปีที่แล้ว +3

      Yes, but Perl jobs are few and far between.

    • @dukemagus
      @dukemagus 2 ปีที่แล้ว

      No wonder. You need to be really good to translate old perl scripts and understand everything they do

    • @neddev2990
      @neddev2990 2 ปีที่แล้ว +2

      It's actually not too difficult to get a Perl job. The reason they are highly paid is because most people are not looking for perl jobs yet companies have a bunch of legacy perl code. So they need someone to work on it. So once you learn perl you can be fairly confident that you will be able to find a good job :)

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      It's all about *supply* and demand. Economics 101. Most people just focus on demand as in "where are most jobs asking for" without considering that abundant jobs like JavaScript or Python also have the most supply of cheap programmers coming from populous countries like India. It's a crowded field out there and competition is intense for those.

  • @MaxCarponera
    @MaxCarponera 2 ปีที่แล้ว +2

    I implemented a whole P2P network for a customer in perl. Don't regret any second.

  • @mrreese2342
    @mrreese2342 2 ปีที่แล้ว +2

    Looks like a good language, maybe i'll add it to my summer classes in the college that i've created in my room

  • @JThompson_VI
    @JThompson_VI 2 ปีที่แล้ว +4

    You've finally made it, it's time for APL in 100 seconds.

  • @Nikhil-Tomar
    @Nikhil-Tomar 2 ปีที่แล้ว +4

    Looking at perl now, I might give it a go it didn't seem like java at all and that is good.

  • @TheMR-777
    @TheMR-777 2 ปีที่แล้ว +1

    It made me love PERL!

  • @nullpasswd
    @nullpasswd 2 ปีที่แล้ว

    Crystal in 100 seconds! I’m interested in learning about it!

  • @christophhofer303
    @christophhofer303 2 ปีที่แล้ว +4

    Do Prolog next!!

  • @Shazam999
    @Shazam999 ปีที่แล้ว +3

    Was the second "internet" programming language I learned. Was disappointed when I found out literally no other languages have reg-ex by default.

  • @kristiankaspersen1281
    @kristiankaspersen1281 2 ปีที่แล้ว +1

    Woho! love this :D

  • @hansdegroot652
    @hansdegroot652 11 หลายเดือนก่อน +1

    Even after all these years still love unless

  • @freedom_aint_free
    @freedom_aint_free ปีที่แล้ว +6

    Raku is even better than Perl 6, it's like the production ready version at the end of the line of prototypes. I've found difficult to reach a conclusion about Raku thought, just because it has everything and them some to it, it's a really really feature reach language, and although I don't like it in languages e.g. C++, just because the language is always surprising you no matter how long you've been programming in it, Raku seems to have done many many things right.

  • @dukemagus
    @dukemagus 2 ปีที่แล้ว +4

    "Closer to human language" he said...

  • @flippert0
    @flippert0 6 หลายเดือนก่อน +1

    I learned programming in earnest with PERL back in 1995/96 (after limited exposure to BASIC on a C64 back in school in the 80s and some toy stuff with Turbo Pascal in the early 90s). I don't think, PERL was the best way to start, but I did some administrative and early Web stuff afterwards. PERL is still unmatched in the 'Q&D one-liner' department. Not sure what lead to its eventual decline: arcane "Sigil" variables? Half-baked OOP? 15+ year development of Raku successor? Probably all of them. And let's not forget that with Python you had a much more beginner-friendly language at the start of the 2000s.

  • @cypher5419
    @cypher5419 2 ปีที่แล้ว +55

    *If human beings evolved new organs as frequently as they do Javascript frameworks, you can bet the doctors would be Googling it too.*

    • @dominik8591
      @dominik8591 2 ปีที่แล้ว +3

      wow!

    • @Gooblehusain
      @Gooblehusain 3 หลายเดือนก่อน +1

      In fact they actually do

  • @spwisp6300
    @spwisp6300 2 ปีที่แล้ว +5

    Google App Script in 100 seconds?

  • @anuraagtummanapally1395
    @anuraagtummanapally1395 ปีที่แล้ว

    Nice description in a short time...

  • @xbmarx
    @xbmarx ปีที่แล้ว +2

    I know everyone dunks on cryptic Perl one-liners, but that's a design decision. It makes it so system admins can copy/paste whole ass programs them into terminals.

  • @microcontrolledbot
    @microcontrolledbot 2 ปีที่แล้ว +3

    Gawd I wish the =~ operator was in JS and worked the same way as it does in Perl

  • @maythesciencebewithyou
    @maythesciencebewithyou 2 ปีที่แล้ว +3

    The language is good with strings, that's why it was the most popular language with biologists for a time.

    • @RandalLSchwartz
      @RandalLSchwartz 2 ปีที่แล้ว +1

      Yes, the human genome project's technology was directed by Dr Lincoln Stein, having both an MD and CS degree, and preferred Perl for the task.

  • @transatlant1c
    @transatlant1c 2 ปีที่แล้ว

    it's been very interesting to see the comparisons in these videos, because as a mere mortal- i usually write scripts in python, if the task goes beyond the 'realistic' application of bash. i would love to know when the transition period of 'self documenting code' became a thing?

  • @erc0re526
    @erc0re526 2 ปีที่แล้ว +1

    The only other place where I've seen "my" and "our" is in a Java codebase, Jetbrains' Intellij I believe. They prefix class member variables with "my" and static member variables with "our", which I surprisingly don't find ugly

  • @tanmay______
    @tanmay______ 2 ปีที่แล้ว +31

    I needed something other than python for string manipulation, this is great!

    • @bg-sj9tx
      @bg-sj9tx 2 ปีที่แล้ว +7

      Why? Python gets the job done

    • @user-he4ef9br7z
      @user-he4ef9br7z 2 ปีที่แล้ว +2

      @@bg-sj9tx Python is slow, heavy and gay.

    • @flybackrs
      @flybackrs 2 ปีที่แล้ว +2

      Python sucks for string parsing. Perl is a lot easier with regexes being first-class citizens, sane string interpolation, useful operators like defined-or, and stuff like that.

    • @kindlin
      @kindlin ปีที่แล้ว

      @@flybackrs
      I kept hearing _regex_ thrown around and finally googled it. _What the fuck!_ I have almost no idea how I would begin to parse that. It literally looks like you facerolled around the keyboard or something. And these are.... useful? I... take it?

    • @CARPB147
      @CARPB147 9 หลายเดือนก่อน

      @@kindlin Just so you know, regular expressions were not invented by Perl. They are essential finite state automata used for text pattern matching. The UNIX/Linux/MacOS command *"grep"* stands for "general regular expression parser," a *basic tool* of UNIX programming. Perl just advanced the state-of-the-art of regexes. Python, Java and others based their own regex implementations on PCRE, and you should know that stands for "Perl-Compatible Regular Expression." YES, they are *hugely* useful and I couldn't even begin to tell you in a comment how much so they are. They are even used in text editors to find data in a file, that's how much they are used. So learn before you jump to judgement on something you don't know or understand.

  • @intensedev
    @intensedev 2 ปีที่แล้ว +3

    I need to try out perl🤔

  • @robmyers8948
    @robmyers8948 หลายเดือนก่อน +1

    I’ve been developing in Perl for 28 years, but switched to python to make it more appeasing for the team. Still using it for some applications but have to explain why we are using this obsolete language.

  • @moofymoo
    @moofymoo 2 ปีที่แล้ว

    very nice! I didn't expect that kool kids would make a video about old and rusty perl.

  • @pupfriend
    @pupfriend 2 ปีที่แล้ว +20

    Little known fact, the guy who invented regex also invented waterboarding.

  • @xpurplerain
    @xpurplerain 2 ปีที่แล้ว +3

    A "100 Seconds of GNU" would be nice.

  • @adelarsq
    @adelarsq 2 ปีที่แล้ว

    Complex even for the Fireship to teach!

  • @laughingvampire7555
    @laughingvampire7555 ปีที่แล้ว +1

    one great feature you didn't mentioned and probably because is an obscure one, is that when you read any data that is not local, like data from the web, Perl throws always an error if you try to use it without parsing it with regex. Perl forces you to parse input with a regex, Perl called this "tainted variable" so to untaint it you use the regex, and this made sites written in Perl a lot more secure than with PHP, and for many people this was one of the reasons to make fun of PHP. The problem is that noobs still wouldn't know what to look for with the regex, but it helped them to find the documentation to avoid sql injections.

  • @omarmandri5031
    @omarmandri5031 2 ปีที่แล้ว +5

    Can you do one for OCaml ??

  • @chucksucks8640
    @chucksucks8640 2 ปีที่แล้ว +9

    I messed perl back when cgi was a new thing in web pages and I found it very comfortable to use. I didn't even know what most of the keywords did but I could read them well enough to hack a few of my own scripts out. It was perfect for cgi scripts.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 2 ปีที่แล้ว

      Similar here, I guess. My main reference was the man pages (just type “man -s1 -k perl” to see how many there are). But I was never entirely sure I understood the implications of some of the language features I was using.
      Then I discovered Python. That had a much cleaner syntax, and all the language features actually made sense. So I switched, and pretty much stopped using Perl.

    • @leoingson
      @leoingson 2 ปีที่แล้ว

      @@lawrencedoliveiro9104 Same here - Perl seemed pretty awful in comparison. Except the perfect regex.

  • @serio0367
    @serio0367 2 ปีที่แล้ว

    Would love a Markkdown vid!

  • @laughingvampire7555
    @laughingvampire7555 ปีที่แล้ว +1

    I love perl, is one of the reasons I chose ruby over python back in 2004 because the ruby man page says "inspired by lisp and perl" and that was a selling point to me.

  • @atalocke
    @atalocke 2 ปีที่แล้ว +9

    Obviously we need a 100s for Raku. I had some other ideas recently for 100s. Free for you to use of course.
    * Clojure
    * Crystal
    * Scala
    And then maybe you could move on to build tools like make, basil, and Groovy? 👀

  • @danieljacobs446
    @danieljacobs446 2 ปีที่แล้ว +3

    Mainly used for CGI: Yup, the vast majority of websites I maintain at my job use HTML::Mason with Perl. I'm trying to write newer websites using more modern languages though.

    • @JBBell
      @JBBell 2 ปีที่แล้ว +2

      Jesus, do the pages show their age using radio-carbon dating?
      I kid. I remember HTML::Mason from the early aughts but that’s millenia ago in technology development years. I saved a couple businesses a lot of money using Perl to double-check credit card transaction records. I’ve forgotten a lot since getting into Python.

    • @ShawnThuris
      @ShawnThuris 2 ปีที่แล้ว

      I work on one of those myself. The thing is, if you have a massive number of pages and need to do HTML templating, and the templating/component system works and is fast, it doesn't really matter how old it is. The template engine doesn't care what html, css and js you're putting out, and if your whole setup is tuned well users will have no idea it was written before git existed.