#!/usr/bin/perl use strict; my @list1 = qw/ 1 2 3 4 5 6 /; my @list2 = qw/ 6 2 1 5 4 3 /; my @list3 = qw/ 7 1 6 5 4 3 /; my @list4 = qw/ 4 5 7 6 2 3 /; my @list5 = qw/ 0 4 5 6 2 3 /; printf "%s\n", validate_number_list (\@list1) ? "Ok" : "Error"; printf "%s\n", validate_number_list (\@list2) ? "Ok" : "Error"; printf "%s\n", validate_number_list (\@list3) ? "Ok" : "Error"; printf "%s\n", validate_number_list (\@list4) ? "Ok" : "Error"; printf "%s\n", validate_number_list (\@list5) ? "Ok" : "Error"; sub validate_number_list() { my ($list) = @_; my @sorted_list = sort { $a <=> $b } @{$list}; my $prev; foreach (@sorted_list) { $prev + 1 != $_ ? return(0) : {$prev = $_}; } return 1; }