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;