The Perl 6 Programming Language

Hi, my name is Camelia. I'm the spokesbug for Perl 6, the plucky little sister of Perl 5. Like her world-famous big sister, Perl 6 intends to carry forward the high ideals of the Perl community. Perl 6 is currently being developed by a team of dedicated and enthusiastic volunteers. You can help too. The only requirement is that you know how to be nice to all kinds of people (and butterflies). Go to #perl6 ( and someone will be glad to help you get started.

camelia perl bug logo

2015 Perl 6 Advent Calendar

Many new features greatly advance our tradition of expressive and feature-rich programming

  • Object-oriented programming including generics, roles and multiple dispatch
  • Functional programming primitives, lazy and eager list evaluation, junctions, autothreading and hyperoperators (vector operators)
  • Parallelism, concurrency, and asynchrony including multi-core support
  • Definable grammars for pattern matching and generalized string processing
  • Optional and gradual typing

Recent Blog Posts [view more]

Jump in!

Rakudo is a compiler for Perl 6 code. Install it and you're all set to run Perl 6 programs!

Download Rakudo Perl 6
for 'dict.txt'.IO.words -> $word {
  say "$word probably rhymes with Perl"
    if $word ~~ /[ea?|u|i] rl $/;

  say "$word is a palindrome"
    if $word eq $word.flip;
my @fib = 0, 1, *+* ... *;
say "Fibonacci number #8 is @fib[7]";
sub postfix:<!> (Int $n) {
    fail "Not a Natural Number in Factorial" if $n < 0;
    [*] 2..$n

use Test;
isa-ok (-1)!, Failure, "Factorial for -1 fails";
ok 0! == 1, "Factorial for 0";
ok 1! == 1, "Factorial for 1";
ok 5! == 120, "Factorial for a larger integer";

Want to see more? Visit Perl 6 examples page