testing - interview

#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

my @array = qw[10 15 20 25 30];

chomp(my $in = <STDIN>);

if ($in < $array[0]) {
  say "$in is less than first element in the array";
  exit;
}

if ($in > $array[-1]) {
  say "$in is greater than last element in the array";
  exit;
}

for (0 .. $#array) {
  if ($in == $array[$_]) {
    say "$in is in the array";
    exit;
  }

  if ($in < $array[$_]) {
    if ($in - $array[$_ - 1] < $array[$_] - $in) {
      say "$in is closest to $array[$_ - 1]";
    } else {
      say "$in is closest to $array[$_]";
    }
    exit;
  }
}

say "Shouldn't get here!";

Comments