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: perl-unix-users@listserv.ActiveState.com
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
Perl-Unix-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs


_______________________________________________
Perl-Unix-Users mailing list
Perl-Unix-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to