Monday, November 30, 2015

Perl6: get and prompt

   #
   # get and prompt
   #

   my $name;

   say "Hi, what's your name?";
   $name=get;

   my $weekday = prompt( "Well $name, what day is today? " );

   given $weekday {
      when 'Monday' { say 'My condolences.' }
      default { say "$weekday, eh?" }
   }


$ perl6 input.pl6
Hi, what's your name?
Rob
Well Rob, what day is today? Monday
My condolences.

Perl6: for, given, and proceed

   #
   #  for, given, and proceed
   #

   my @array = 1, 2, 3;

   for @array -> $item {
      say $item * 100
   }
   print "\n";

   my $var = 42;

   given $var {
      when 0..50 { say 'Less than 50' }
      when Int   { say 'Is an Int' }
      when 42    { say 42 }
      default    { say 'huh?' }
   }
   print "\n";

   given $var {
      when 0..50 { say 'Less than 50'; proceed }
      when Int   { say 'Is an Int'; proceed }
      when 42    { say 42 }
      default    { say 'huh?' }
   }


$ perl6 for.pl6
100
200
300

Less than 50

Less than 50
Is an Int
42

Perl6: if, unless, with, and without

   #
   #  if, unless, with, and without
   #

   my $age = 19;
   my $age2;

   if not $age < 19 {
      say 'Adult';
   }

   unless $age < 19 {
      say 'Adult';
   }

   with $age {
      say '$age has a value';
   }

   with $age2 {
      say '$age2 has a value';
   }

   without $age2 {
      say '$age2 does not have a value';
   }


$ perl6 control.pl6
Adult
Adult
$age has a value
$age2 does not have a value

Sunday, November 29, 2015

Perl6: Arrays

   my @animals = [ 'camel', 'llama', 'vicuña'];
   @animals.push( "owl" );
   say "The zoo contains " ~ @animals.elems ~ " animals";
   say "The animals are: " ~ @animals;



$ perl6 arrays.pl6
The zoo contains 4 animals
The animals are: camel llama vicuña owl



   say "Sort:    " ~ @animals.sort;
   say "Natural: " ~ @animals;

   @animals.=sort;
   say "New    : " ~ @animals;


Sort:    camel llama owl vicuña
Natural: camel llama vicuña owl
New    : camel llama owl vicuña


Perl6: Hello, World!

say 'hello world!';

$ perl6 hello.pl6
hello world!


Oh, this is going to be fun...


if True { say 'hello' };

$ perl6 hello.pl6
hello