in reply to regex negative numbers
To summarize: the problem is in the pattern, (or in the fact that you didn't check if the pattern mached at all).
I've changed three things about the pattern:
- ? instead of {0,1}
- ^ just once
- \d+ instead of \d*
- discarded the /m at the end
while (<DATA>) { chomp; print "Test case '$_'\n"; if ( m!^(-?\d+)\s+(-?\d+)! ) { print "$_, " for ($1 .. $2); } else { print "doesn't match"; } print "\n\n"; } __DATA__ 1 6 -4 6 -4 -1 6 1 6 -4 -1 -4
making the program count *backwards* is left as an exercise to the reader.
-- Brigitte 'I never met a chocolate I didnt like' Jellinek http://www.horus.com/~bjelli/ http://perlwelt.horus.at
|
---|
In Section
Seekers of Perl Wisdom