http://www.perlmonks.org?node_id=481916


in reply to How to Ask a Regex Question (with Test::More) (repost, with Sitedocclan approval)

My problem with this template is that what regex is needed is usually defined as much by what strings it should not match as by what it should. Also, when it does match, how. So it would be very nice if the test harness let you say "the string 'timmytimmers@aol.com' should match with $1 eq 'timmytimmers' and $2 eq 'aol.com' but the string 'herbill.gerbil.org!garygerbil' shouldn't match at all". Otherwise, the correct answer is always /.*/.

Replies are listed 'Best First'.
Re^2: How to Ask a Regex Question (with Test::More) (repost, with Sitedocclan approval)
by eric256 (Parson) on Aug 08, 2005 at 17:13 UTC

    I assumed that Test::More would have this in the bag, but went ahead and checked. Test::More certainly handles this already with an unlinke($this, $regex). This should probably be mentioned in the template (which I'm sure is what you meant.) As for matching HOW it matched, that would be an interesting problem. Perhaps a the test harness should accept an arrayref where the first element is the regex and the following should be $1..$9 in order?

    like("Hello World", [ /(.+)\s(.+)/, "Hello", "World"]);

    Seems like a mouth full but it would handler your case.

    Just my two cents.


    ___________
    Eric Hodges