#!/usr/bin/perl -w
use strict;
my @list = 1..10;
print binary_search(\@list, 3);
sub binary_search {
my ($aref, $find) = @_;
my $mid;
$mid = int $#$aref / 2;
return 0 if $find == $aref->[$mid];
return 1 if !$#$aref;
if ($find > $aref->[$mid]) {
@$aref = @$aref[++$mid..$#$aref];
binary_search($aref, $find);
}
else {
@$aref = @$aref[0..--$mid];
binary_search($aref, $find);
}
}
####
@$aref = @$aref[++$mid..$#$aref];
####
@$aref = @$aref[++$mid..-1];