http://www.perlmonks.org?node_id=358365


HOP, flip, and swap