Global training solutions for engineers creating the world's electronics products

Essential Perl

Standard Level - 3 days

Auf Deutsch

Essential Perl is a 3-day course teaching the essentials of Perl and its application in the field of PLD and ASIC design.

Perl is a popular and widely-used cross-platform programming language. In particular, its powerful text processing capability can be used to automate many otherwise error-prone, repetitive and time-consuming tasks in the ASIC and PLD design process.

The syllabus covers the essential subset of the Perl5 scripting language and is packed with design related exercises and examples including: patching netlists, filtering reports, generating test vectors, and running tools.

Delegates can use their choice of PC or UNIX platforms during the workshops. The workshops are based around carefully designed exercises, to reinforce and challenge the extent of learning, and comprise approximately 50% of class time.

Who should attend?
  • Engineers who wish to become skilled in the practical use of Perl for tasks related to programmable logic or ASIC design
  • Engineers who have already acquired some practical experience in the use of Perl, but wish to consolidate and extend their knowledge within a training environment
What you will learn
  • The essential syntax and semantics of Perl
  • How to avoid common mistakes and how to use the Perl Debugger to track down problems in your Perl programs
  • Techniques for writing Perl code that can be reused by others, thus improving overall design team productivity
  • How to apply Perl to common tasks in the hardware design process

No previous knowledge of Perl or software language experience is required, although the latter would be advantageous. Delegates are expected to be computer literate and to have an understanding of the digital hardware design process.

Course materials

Doulos Course materials are renowned for being the most comprehensive and user friendly available. Their style, content and coverage is unique in the HDL training world and has made them sought after resources in their own right. Course fees include:

  • Fully indexed course notes creating a complete reference manual
  • Workbook full of practical examples and solutions to help you apply your knowledge.
Structure and Content


Origins of Perl • Exploring the benefits of Perl for design engineers • Internet resources for problem solving and sharing solutions • Perl book recommendations • Plain Old Documentation (POD) the language reference • Perl applications in design

Starting Perl

Running programs in UNIX or Windows • Using command line options • Understanding scalar variables • Numbers & strings • Interpolation explained • Arrays (lists) • Hashes (associative arrays) • Exploring scalar and list context


Conditional statements: if, unless • Alternative case structures • Looping statements: until, while, for, foreach • Loop control using: next, last, redo • Conditional modifiers: if, unless • Loop modifiers – while, until • Using 'and' and 'or' for better readability

File Operations

Opening text files for reading, writing or appending • Using pipes to other processes • Testing file properties with file test operators • formatting output using print and write • frequently used special variables

Pattern Matching

Matching with modifiers • Substituting with modifiers • Inventing character classes • Quantifiers • Anchoring matches on character boundaries • Reusing matched groups with back references • Grouping and alternatives in regular expressions • Extended regular expressions • Guidance for complex regular expressions

Subroutines and Modules

Writing subroutines in Perl • Controlling variable scoping using my, our and local • Using references to variables and subroutines • Packaging scripts for reuse with modules

Debugger Scripts

Using Perl debugger • Syntax checking • Generating extra warnings • Writing better code using pragmas

Application Examples and Exercises

Modifying automatically generated netlists, to ensure different tools work together smoothly • Filtering long report files e.g. those generated by place & route tools • Creating, translating and modifying files containing test vectors • Autonomously running design tools in sequence, checking results then warning, re-running, stopping or continuing accordingly.

Supplementary Subjects (May be included if sufficient interest and time permits)


Packages and Modules

Understanding packages • Creating and using modules • Setting Perl's module search path • Installing CPAN modules • Object-oriented Perl • Creating a simple class 

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request