On Tue, 26 Aug 2003 14:23:07 +1000, Anthony English wrote:
> # make sure year is at least 2 but not more # than 4 digits
> if ($year =~ /\d{2,4}/) {
Hello Anthony,
it is clear while your regex does match numbers bigger than 4 characters.
There isn't a minimum set for the maximum value. You are testing for 4 digits. This is
true even if there are 5, 6 or even 7 digits.
In your case you just need to put boundaries up and everything is fine:
---+++---
#!/usr/bin/perl
use warnings;
use diagnostics;
use strict;
print "What year? ";
chomp (my $year = <>);
if ($year =~ /^\d{2,4}$/)
{
print "year is between 2 and 4 digits\n";
}
else
{
print "Error: year should be between 2 and 4 digits.\n";
}
---+++---
^ symbolizes the beginning of a string.
$ symbolizes the end of a string.
thanks
/oliver/
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]