[Kc] Shuffling a deck of cards...

Emmanuel Mejias emmanuel.mejias at gmail.com
Wed Apr 2 13:10:20 PDT 2008


My instructor has asked me to use the pop, shift, and push functions to
write a script that sufficiently "shuffles" a simulated deck of cards before
printing the top five cards. I haven't quite got it down, but I was
wondering, did I need to add the highlighted line in my code or something
along those lines to indicate $element = pop (@deck) or is that what
I'm using "push" for? Now it does pop A H to the bottom of the deck. So what
exactly is it that I'm doing wrong?

#!/usr/bin/perl -w
@deck = ("A H","2 H","3 H","4 H","5 H","6 H","7 H","8 H",
                 "9 H","10 H","J H","Q H","K H",
                 "A D","2 D","3 D","4 D","5 D","6 D","7 D","8 D",
                 "9 D","10 D","J D","Q D","K D",
                 "A C","2 C","3 C","4 C","5 C","6 C","7 C","8 C",
                 "9 C","10 C","J C","Q C","K C",
                 "A S","2 S","3 S","4 S","5 S","6 S","7 S","8 S",
                 "9 S","10 S","J S","Q S","K S");
*$cards = pop (@deck);
*push (@deck, pop(@deck));
push (@deck, shift(@deck));
foreach my $card (@deck){
  print "Cards: $card\n"
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/kc/attachments/20080402/6db73721/attachment.html 


More information about the kc mailing list