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