Perl Tutorial



Code & Transcript Here : http://goo.gl/DUZHJO

Best Book on Perl : http://amzn.to/1URCrYb

You can support these videos on Patreon : https://www.patreon.com/derekbanas

02:16 – Intro & Scalars
11:35 – Math
15:40 – Conditionals
23:07 – Looping
28:38 – Strings
35:25 – Arrays
44:30 – Hashes
48:29 – Subroutines
56:00 – File IO
1:00:36 – Object oriented Perl

I cover basically what you would learn in a 250 page book in this one video. We’ll learn all the basics plus pragmas, scalars, arrays, hashes, printf, print, math functions, conditionals, boolean operators, if, elsif, else, unless, ternary operator, looping, for, foreach, while, do while, reading input, given, strings functions, s///, ranges, slice, sort, push, pop, join, subroutines, recursive subroutines, packages, object oriented Perl and so much more.

Thank you to Patreon supports like the following for helping me make this video

https://www.facebook.com/cottageindus…
@kyleaisho
@thetwistedhat
vjFaLk
TheSkogemann

50 thoughts on “Perl Tutorial

  1. Learn in One Videos for Every Programming Language
    Subscribe to Bookmark them: http://bit.ly/2FWQZTx
    C++ : https://youtu.be/Rub-JsjMhWY
    Python : https://youtu.be/N4mEzFDjqtA
    Java : https://youtu.be/n-xAqcBCws4
    PHP : https://youtu.be/7TF00hJI78Y
    MySQL : https://youtu.be/yPu6qV5byu4
    JavaScript : https://youtu.be/fju9ii8YsGs
    C# : https://youtu.be/lisiwUZJXqQ
    HTML5 : https://youtu.be/kDyJN7qQETA
    CSS3 : https://youtu.be/CUxH_rWSI1k
    JQuery : https://youtu.be/BWXggB-T1jQ
    TypeScript : https://youtu.be/-PR_XqW9JJU
    ECMAScript : https://youtu.be/Jakoi0G8lBg
    Swift : https://youtu.be/dKaojOZ-az8
    R : https://youtu.be/s3FozVfd7q4
    Haskell : https://youtu.be/02_H3LjqMr8
    Handlebars : https://youtu.be/4HuAnM6b2d8
    Bootstrap : https://youtu.be/gqOEoUR5RHg
    Rust : https://youtu.be/U1EFgCNLDB8
    Matlab : https://youtu.be/NSSTkkKRabI
    Arduino : https://youtu.be/QO_Jlz1qpDw
    Crystal : https://youtu.be/DxFP-Wjqtsc
    Emacs : https://youtu.be/Iagbv974GlQ
    Clojure : https://youtu.be/ciGyHkDuPAE
    Shell : https://youtu.be/hwrnmQumtPw
    Perl : https://youtu.be/WEghIXs8F6c
    Perl6 : https://youtu.be/l0zPwhgWTgM
    Elixir : https://youtu.be/pBNOavRoNL0
    D : https://youtu.be/rwZFTnf9bDU
    Fortran : https://youtu.be/__2UgFNYgf8
    LaTeX : https://youtu.be/VhmkLrOjLsw
    F# : https://youtu.be/c7eNDJN758U
    Kotlin : https://youtu.be/H_oGi8uuDpA
    Erlang : https://youtu.be/IEhwc2q1zG4
    Groovy : https://youtu.be/B98jc8hdu9g
    Scala : https://youtu.be/DzFt0YkZo8M
    Lua : https://youtu.be/iMacxZQMPXs
    Ruby : https://youtu.be/Dji9ALCgfpM
    Go : https://youtu.be/CF9S4QZuV30
    Objective C : https://youtu.be/5esQqZIJ83g
    Prolog : https://youtu.be/SykxWpFwMGs
    LISP : https://youtu.be/ymSq4wHrqyU
    Express : https://youtu.be/xDCKcNBFsuI
    Jade : https://youtu.be/l5AXcXAP4r8
    Sass : https://youtu.be/wz3kElLbEHE

  2. Please tell me the name of the Editor IDE that you are using to write and execute your Perl code into?? Thanks.
    I am desperately needing to know …. but from the widgets, it seems you are doing it on a Mac?

  3. Hi Derek,

    The OOP part feels slightly confusing. Please correct me if I misunderstood.

    A library contains packages. A package contains classes. Classes are defined in distinct perl modules (.pm files).

    Inheritence is established between 2 classes using "our @ISA = qw(<package-name>::<base-class-name>);" perl statement. @ISA is an implicit array holding the inherited variables and subroutines from the base class. ISA stands for the "is a" relation b/w the sub-class (Lion) and the base-class (Cat)

    bless $self, $class
    associates a reference to the current object with the class (ex: Cat class, in Cat.pm perl module)

    use Animal::Cat;
    import Cat class into a standalone perl program (perltut.pl)
    and import into the subclass Lion (in Lion.pm)

    package Animal::Cat;
    declare that Cat class in Cat.pm belongs to Animal package (name of a folder on the filesystem)

    $self
    (like in python)
    is a reference to the current object
    Since it is a reference, the infix operator -> is used to dereference the address of the object, so to access and execute the methods
    $self->getName();

    – Madhukiran

  4. I'm surprised why such a beautiful and simple language like PERL didn't become as popular like python or java or c++!!! Could this be due to no web app development capabilities?

    (may be Perl 6 has, I just glanced at ur perl6-in-1-vid tutorial, and it felt like an altogether different programming lang from perl5).

    – Madhukiran

  5. So there is a filter (grep) and there is a map (directly as "map") in perl. Is there no equivalent perl function/keyword/special-operator* to "reduce" other than using a for loop**?

    *special operator — like $_ | $& | $` | $' | $/ | @_ | $! | $@ | …

    **for-loop :
    # implement "reduce" op
    my @nums = (1..5);
    my $total = 0;
    foreach (@nums) { $total += $_; }

    – Madhukiran

  6. Hi Derek,

    Reply to ur response :
    "Most of my dislikes come from people that don't like fast videos. Since I'm the only person that makes fast tutorials they have plenty of others to pick from"

    my reply :
    Would u like to consider slowing down a lot while talking about some important and tough-to-understand theory parts, while talking about important language constructs, etc… and go superfast while coding, while writing/talking about the obvious stuff, etc❓

    – Madhukiran

  7. I think you could focus more on string processing. I feel that part was too quick for such important part of Perl language. Thanks for the tutorial anyway! 🙂

  8. Actually Insane amount of Information, jam packed in 1 hour. Some parts I had to put the video on 0.75X speed to get all the info. Each line you say is a new learning.
    Thank you!

  9. I know that I am an absolute newbie to this but I thought that at least each new output would be separated somehow with each new command execution?
    It kind of sad that the line numbers on the output aren't there.. Can you put Comments on the output to tell you, that you are doing something new? Thanks for any info!

  10. 54:48 Factorial of zero should be one, not zero. While this may seem like a strange thing, it is actually the most sensible definition: for example, there is one permutation of an empty set.

  11. what is the name of your editor or IDE that you are using inside of the Windows (left) side? Is that part of Strawberry or no?
    It looks like you actually using a MAC and NOT a Windows box there, on the left, judging from the windowing interface widgets
    My own installation of Strawberry Perl does NOT have your nifty editor or IDE and i cannot do that — what you do?
    How are you writing code in one window and running it in another?

  12. at uhhh …… 4:20 lol time mark into the video … lol he uh …. used 2 different kind of quotes in the same kind of statement, on the same OS / version of Perl….. why?

Leave a Reply

Your email address will not be published. Required fields are marked *