#!/usr/bin/perl use strict; use warnings; use List::Util qw( shuffle ); print "Unsorted list: @ARGV\n"; @ARGV = shuffle @ARGV while !is_sorted( @ARGV ); 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 ] ); } __END__ =head1 NAME bogosort.pl - bogosort implementation in Perl =head1 SYNOPSIS $ perl bogosort.pl VALUE [...] =head1 DESCRIPTION It's a bogosort... in Perl. Seriously, what more do you want? =head1 AUTHOR Chris Grau =head1 COPYRIGHT AND LICENSE This program is licensed under the Artistic License v2.0.