I changed your regular expression to this and it worked:
$value =~ /^[0-9]+$|^[0-9][0-9,]*[0-9]$/
Matt Schneider
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Friday, June 10, 2005 12:35 PM
To: [email protected]
Subject: [Perl-unix-users] regex numerical matching w/comma seperated
listsupport
#!/usr/bin/perl -w
use strict;
use warnings;
my @values = ('1','12','123','1,2','12,34',',123','123,');
foreach my $value (@values) {
# check that value is number and it can be comma seperated list
of
# numbers but doesn't have to be. the last two values in
@values
# are expected to fail, but it was not expected to fail for the
# first two values. What change is needed or does an or
statement
# need to be used?
if ($value =~ /^[0-9]+[0-9,]+[0-9]+$/) {
print "[$value]: pass\n";
}
else {
print "[$value]: fail\n";
}
}
_______________________________________________
Perl-Unix-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Unix-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs