#!/usr/bin/perl -w use constant HIGH => 10_000; my $ans = 0; $ans = int(rand(HIGH)) + 1; &cleverGuess(1, HIGH); sub cleverGuess { my( $lower, $higher ) = @_; my $guess = int(($lower + $higher)/2); print "Guessing: $guess\n"; if ($guess == $ans) { print "The guess was correct!"; } elsif ($ans < $guess) { print "Lower..."; cleverGuess($lower, $guess-1); } else { print "Higher..."; cleverGuess( $guess + 1, $higher ); } }