#!/usr/bin/perl # from: http://sirhc.us/code/bogosort.pl.txt use strict; use warnings; use List::Util qw( shuffle ); print "Unsorted list: @ARGV\n"; @ARGV = shuffle @list while !is_sorted( @list ); print "Sorted list: @ARGV\n"; sub is_sorted { my ( @list ) = @_; return 1 if @list == 0 || @list == 1; return 0 if $list[0] > $list[1]; return is_sorted( @list[ 1 .. $#list ] ); }