Rakudo Perl Hacking Rakudo Perl #30
use v6;

my @suits  = < ♣ ♢ ♡ ♠ >;
my @ranks  = 2..10, < J Q K A >;

# concatenate each rank with each suit (2♣ 2♢ 2♡ ... A♠)
my @deck = @ranks X~ @suits;

# build a hash of card names to point values
my %points = @deck Z ((2..10, 10, 10, 10, 11) X+ (0,0,0,0));

# grab five cards from the deck
my @hand = @deck.pick(5);

# display my hand
say ~@hand;

# tell me how many points it's worth
say [+] %points{@hand};
Copyright © 2009
http://www.pmichaud.com/2009/pres/