exercism-perl5

Repository for my Perl 5 Exercism exercises
git clone git://git.samirparikh.com/exercism-perl5
Log | Files | Refs | README

SecretHandshake.pm (513B) - raw


      1 package SecretHandshake;
      2 use strict;
      3 use warnings;
      4 use Exporter qw<import>;
      5 our @EXPORT_OK = qw<handshake>;
      6 
      7 sub handshake {
      8   my ($number) = @_;
      9   my %handshake;
     10   @handshake{ (0 .. 4) } = (
     11         "wink",
     12         "double blink",
     13         "close your eyes",
     14         "jump"
     15   );
     16   my @events;
     17   my @code = split //, scalar reverse sprintf ("%05b", $number);
     18   
     19   foreach (0 .. 3) {
     20         push @events => $handshake{ $_ } if $code[ $_ ];
     21   }
     22 
     23   @events = reverse @events if $code[ 4 ];
     24 
     25   return \@events;
     26 }
     27 
     28 1;