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) >>xx>> 4 ); # shuffle the deck @deck .= pick(*); # grab first five cards from the deck my @hand = @deck.splice(0, 5); # display my hand say ~@hand; # tell me how many points it's worth say [+] %points{@hand};