"Christopher L Hood" <[EMAIL PROTECTED]> wrote ...
> Why doesn't this work to check the <STDIN> until it is one of the numbers
> "1 2 3 4 5" ?? I have tried multiple variations of this with different
> brackets ie. [ ] , and ( ) .

Chris, this doesn't work because you didn't write valid code.  ;-)
I think you probably wanted something like:

foreach my $num(1 .. 5){
  if ($type_number == $num) {
    # do something here
    last;
  }
}

> until($type_number == 1 .. 5 ){

I prefer to use grep() and avoid the foreach altogether (grep can be viewed 
as a version of foreach however):

#!/usr/bin/perl
use warnings;
use strict;

while (1) {
  print "Enter number: ";
  (my $input = <STDIN>) =~ s/\D//g;
  my ($found) = grep { $_ == $input } 1 .. 5;
  if ($found) {
    print "Found number $found!!!\n";
    last;
  } else {
    print "Did not find a number between 1 and 5.\n";
  }
}


Good luck,
ZO 



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to