perl script card shuffle

Hi,
I have a problem that pertains to using perl script pop,shift,push only to shuffle a card and print out 5 top listed numbers.

HW problem from oreilly school of technology linux/unix course instructor name kelly hoover

#!/usr/bin/perl

@startingdeck = ("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"\);

My attempt is:
shift(@i),pop(@i),shift(@i),pop(@i),push(@i),pop(@i),shift(@i),push(@i),pop(@i);

print "@i[0..4]\n";

but this only shows that the numbers are shifted not shuffled, so second attempt is:
for $x (0 .. 99){
@shuffle = shift(@i), shift(@i), pop(@i), pop(@i);
push @i, @shuffle;
}
print "@i[0 .. 4]\n";

and this somehow only listed 1 number. Thank you all for help.

You might want to try again using the mandatory template mentioned in the special rules