Do you have a good set of test cases ?
#!/usr/bin/perl # http://perlmonks.org/?node_id=1144184 use strict; use warnings; sub e { /\Guc*/gc or return 0; # rule 1. & 5. /\Ga/gc and return e(); # rule 2. /\Gc+/gc; # rule 5. /\Gd/gc and return e() && /\Gf/gc && e(); # rule 3. /\Gb/gc and return e(); # rule 4. return 1; } for (qw( u udufu uau uu uc ubu ucbuc uaau ua uauau uccc )) { print e() && /\G\z/ ? "matches" : " fail", " $_\n"; }
outputs:
matches u matches udufu matches uau fail uu matches uc matches ubu matches ucbuc fail uaau fail ua matches uauau matches uccc
Which of these is wrong, if any? Let's keep tweaking until it works :)
In reply to Re: When the only tool you have is a screwdriver...
by Anonymous Monk
in thread When the only tool you have is a screwdriver...
by ExReg
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |