3 days / 40+ speakers
12 workshops

May 17-19, 2017 | Vilnius, Lithuania
Evozon, USA

Jeff Goff

Long-time developer, mostly Perl 5 and JavaScript, doing work with Perl 6 lately.


Ten Things You Need To Know About Perl 6

Perl 6 brings so much to the table that a single presentation can only cover a few of the highlights of the language. Perl 6 takes ideas as diverse as data channels, multimethod dispatch, and parsing expression grammars and ties them together into one rapidly evolving language. Jeffrey Goff discusses where Perl 6 is now, where it’s going in the future, and some of the lessons learned along the way.

Jeffrey demonstrates how to use Perl 6 roles, data channels, vector operations, and parsing expression grammars to build a small but functional just-in-time compiler. You’ll learn how Perl 6 pulls together these seemingly disparate threads into a modern language that supports custom Unicode operators, mutable and immutable data structures, and multicore concurrent programming, all on multiple platforms including the JVM.

Jeffrey concludes with an exploration of what’s happening in the growing Perl 6 community, touching on computer vision, the ubiquitous web frameworks, and even computer-assisted music production, as well as the resources and, more importantly, the people that can help you as you write your own modules and join the Perl 6 development community.





Hands-On Perl 6

Jeffrey Goff offers an introduction to Perl 6, a powerful new language combining the pedigree of Perl 5 with a brand new metaprogramming system, built-in concurrency, and software-definable grammars, among many other features.

Starting from one-liners like “Hello, world!” Jeffrey explores all of the programming styles that Perl 6 has on offer, from basic procedural programming to object-oriented style, aspect-oriented, functional programming, and even logic programming. From the basics of sigils (the $ signs that so many scratch their heads over) and context, you’ll banish lazy evaluation, march through infinite lists, and stalk the wild hyperoperators. Jeffrey introduces simple variables and user I/O by way of a guessing game.

After discussing variables and how they’re affected by the context they’re used in, Jeffrey delves into what’s traditionally been the core of Perl: regular expressions. Starting with some simple matching tasks, Jeffrey explains how to parse what even Perl 5 regular expressions can’t tackle with a custom grammar. This custom grammar helps teach you object orientation and aspect-oriented programming. You’ll then build an interpreter with the help of some hyperoperators and use Perl 6 roles to construct both an interpreter and assembler inside Perl 6. J

Jeffrey also discusses the community surrounding the language, how to find other programmers, and how to find and share your Perl 6 code. You’ll walk out of the tutorial with a solid grasp of the fundamentals of Perl 6 and an exposure to what lies beyond the world of basic scripting.


  • Familiarity with at least one programming language, ideally a loosely typed language such as PHP, JavaScript, or Bash
  • Knowledge of basic procedural programming (Object-oriented knowledge will be useful but is not required.)

Materials or downloads needed in advance

  • A laptop with Rakudo Perl 6 installed (Docker users can run “docker pull rakudo-star” to get the latest version.)