#!/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