Proper Shuffle solutions

Proper Shuffle was solved using Perl by 3 contestants. Solution sizes: average 2384 bytes (shortest: 406; longest: 5963).