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