Hoppsan då 😳
Just nu finns det inga datum tillgängliga.
Titta förbi om några dagar eller
kontakta oss
och be oss lägga upp fler kursdatum.
Kurs om
Perl moduler och egna datatyper
En effektiv kurs om hur du implementerar egna moduler (package) i Perl, och realiserar egna datatyper (klasser), inklusive subklasser och operator-överlagring. Du får lära dig om referenser, package, module files, komplexa data-strukturer, klasser, subklasser och operator-överlagring.
Den här kursen tar vid där grundkursen i Perl slutar. Du får lära dig allt om packages och modules i Perl och hur det är realiserat. Vi går grundligt igenom referenser i Perl och hur dessa kan tillämpas, för att till exempel skapa komplexa sammansatta data-strukturer.
Vidare får du lära dig hur man kan designa klasser och genererar object i Perl — trots att detta saknar stöd för i språket; emellertid så finns det sedan länge en metodik för detta, vilken vi tillämpar. Du får också lära dig att skapa subklasser, samt överlagra operatorer.
Detta får du lära dig på kursen
Här är ett sammandrag i punktform av vad du får lära dig på kursen. Eftersom kursmaterialet är författat på engelska, så återger vi sammandraget också på engelska.
- Pragmas
- How modules are realized
- Core modules vs. cpan modules
- Everything about references
- User-defined datatypes (UDT), a.k.a. classes
- Subclasses
- Operator-overloading
- Using the popular Moose library
- Writing API documentation
- Designing professional modules with
Build::Module
Kursfakta
Här finner du alla detaljer om kursen.
-
Kursnamn
Perl moduler och egna datatyper
Perl Modules and User-Defined Data-Types (eng.) -
Varaktighet
3 dagar -
Nivå
Intermediate -
Målgrupp
Perl programmerare -
Förkunskapskrav
God erfarenhet av att programmera i Perl -
Program & Verktyg
- Perl Run-Time
- Perl enabled IDE, such as any JetBrains IDE with a Perl plugin or MS VisualCode with a Perl plugin
-
Publicerad
18 mars 2024
Course Introduction
What the course is about and how to get started.
Quick Recap of Perl
Just to ensure all participants are in line with the prerequisites for the course.
Perl Pragmas
- What is a Perl pragma
use strict
- Writing an unsafe program vs. a safe program
use warnings
use diagnostics
use version
use Modern::Perl
Perl Package
The essentials of packages and how to import modules.
User-Defined Modules
- How to invoke a function in another file?
- Simple implementation
- Refined implementation
- Understanding
require
- Understanding
@INC
- Different ways to amend
@INC
- Defining a package
- What is a Perl module and how is it related to package
- Namespaces
- Compile-time module import
- Using the Exporter module
- How to write hidden functions
Using Bundled Modules
Discussion of core modules.
Using Remote Modules
Discussion of CPAN modules.
Unit Testing
How to write unit tests for Perl modules.
Reference Structures
Everything you need to know about references in Perl.
References
- The problem of passing composite data to a function
- Using the reference operator
- Using the de-reference operator
- Syntax rules for de-reference expressions
- The
ref
operator - How to copy a reference
- Reference counting
- The danger of cyclic reference chains
Anonymous Data-Structures
- What is anonymous data?
- Syntax for anonymous composite data-structures
- Designed complex data-structures
- Reference to a functions
Object-Oriented Perl
How to define classes and creating objects in Perl.
User-Defined Data-Types
- What is a UDT?
- How to invoke a function in another package
- Call-by
::
vs. call-by->
- What is a blessed reference?
- UDT within a module file
- Sample Perl class and instantiated objects
Object-Oriented Inheritance
- What is OOP inheritance?
- How to create a subclass in Perl
- Understand
use parent
- What is
@ISA
- What is
SUPER::
Operator-Overloading
- What is operator-overloading?
- Usage of
use overload
- Overloadable operators
- How to implement an overloaded operator
- Sample code
Professional UDT
How to write production-strength UDT modules.
Introduction to Moose
- Overview of the CPAN package-group Moose
- Defining a simple class
- Usage of a Moose class
- Type constraints
- Defining properties
- Generated constructor
- Generated accessor methods
- Defining subclasses
- Alternatives to Moose
Writing Module API Documentation
- What is POD?
- How to read POD documentation
- How to write your own POD
- POD syntax
- How to generate API documentation
- POD to HTML
Using Build::Module
- Requirements for a professional module
- Overview of package Build::Module
- Module implementation
- Module unit tests
- Module documentation
- Module packaging
- Module deployment
Här ser du vilka kursdatum som är tillgängliga. Klicka på en av datumknapparna för att anmäla dig till ett kurstillfälle. På kursen pratar läraren svenska, medan vårt kursmaterial alltid är författat på engelska.
Missa inte vår samfaktureringsrabatt! Är ni fler personer från samma företag/organisation som går på samma kurs och kurstillfälle, rabatteras tillkommande personer med 25%. Ni kan anmäla er till kursen en och en, men uppger då samma företag, så ordnar vi resten. Samtliga deltagare från samma företag ingår då på samma faktura, den första till fullt pris och resterande till rabatterat pris.
Boka din plats på vår fjärrkurs, via Zoom

Du sitter bekvämt framför datorn och deltar i kursen via internet. Vi använder programvaran Zoom för alla våra fjärrkurser. I priset ingår kursmaterial som PDF.
Pris: 14 000 kr + moms

Kursen vänder sig till perl programmerare och utgår från att deltagarna har god erfarenhet av att programmera i perl.

Företagsanpassad kurs
Om ni är tre eller fler personer från samma företag eller organisation, kan ni beställa en företagsanpassad kurs. Då håller vi kursen på ett datum som passar er. Antingen på plats i era lokaler eller som en fjärrkurs. Vi kan också hålla den muntliga framställningen på engelska.
Kontakta oss för en offert

Jens Riboe
Senior/Expert Software Developer
5.0 Instructor/Author Rating
50+
Courses Authored1000+
Students Lectured40+
Years ExperienceJag har programmerat sedan början på 1980-talet i en stor mängd olika programspråk och på olika plattformar. Har jobbat på både stora och små företag, både etablerade och startups, samt både inom och utom Sverige. Att skriva (elegant) programkod är det bästa jag vet. Denna erfarenhet och passion är den centrala komponenten i våra kurser. Något som gör oss unika på marknaden och att våra kunder återkommer år efter år för nya och fördjupade kunskaper.
View LinkedIn Profile