#!/usr/bin/perl use strict; use warnings; my @deck = qw(card1 card2 card3 card4); my @shuffle1 = shuffle (@deck); my @shuffle2 = shuffle (@shuffle1); print "@shuffle1\n"; print "@shuffle2\n"; sub shuffle { my $first = 0; my $last = $#_; my @newdeck; while ($first < $last) { push @newdeck, $_[$last--], $_[$first++]; } return @newdeck; } #### sub shuffle { my @newdeck; push @newdeck, @_[-$_ - 1, $_] for 0 .. @_ / 2 - 1; return @newdeck; } #### card4 card1 card3 card2 card2 card4 card3 card1