http://www.perlmonks.org?node_id=1004466

MarvC has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I'm new to Perl and regex and i cant seem to get this expression to work, I'm trying to match any amount of white space 0 or 1 times followed by any amount of words saved in a buffer(there can be any amount of space in between the words), after the words there has to be at least 1 or more white space and followed by a digit that ranges from -99 to 99 here's what I have wrote down.

print "Enter a string: "; while(<>) { $line = $_; last if ($_ =~ /^\s*[Q|q]{1,1}[U|u]{1,1}[I|i]{1,1}[T|t{1,1}\s*$/); next if ($_ =~ /^$/ or $_ =~ /^\s+/$); if($line =~ /\s*([a-zA-Z]+\s*)+\s*(-?\d\d?)\s*/) { print $_; } }

this if($line =~ /\s*([a-zA-Z]+\s*)+\s*(-?\d\d?)\s*/) is where the problem comes in. Is there any notable problems here that I'm over looking?