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

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

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
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 @primes = ^.grep: *.is-prime;
say "1001ˢᵗ prime is @primes[1000]";
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

Recent Blog Posts [view more] RSS