At 22.31 -0400 1999.06.08, Chris Nandor wrote: >I am thinking of putting them together in complex structures like so: > > whose([name => contains => 'e'] glueAnd [popup => equals => enum('true')]) > >And: > > whose( > [[name => contains => 'e'] glueAnd [popup => equals => enum('true')]] > glueNot [pulled_open => equals => enum('true')] > ); I am rethinking this. I am thinking of making it easier on myself. I don't know if it will be better for users. whose(AND => [name => contains => 'e'], [popup => equals => enum('true')]) whose(AND => [name => contains => 'e'], [popup => equals => enum('true')], [NOT => [pulled_open => equals => enum('true')]]) Or to make it easier to read: $contains_e = [name => contains => 'e']; $is_popup = [popup => equals => enum('true')]; $is_pulled_open = [pulled_open => equals => enum('true')]; $whose = whose(AND => $contains_e, $is_popup, [NOT => $is_pulled_open]); In other words, whose() when used for more than one comparison record, accepts a logical record. A logical record starts with the logical operator and is followed by a list of any number of comparison records or logical records. This closely maps how the "whose" record is actually constructed. But if someone has a better idea, I'd like to see it. -- Chris Nandor mailto:pudge@pobox.com http://pudge.net/ %PGPKey = ('B76E72AD', [1024, '0824090B CE73CA10 1FF77F13 8180B6B6']) ==== Want to unsubscribe from this list? ==== Send mail with body "unsubscribe" to macperl-modules-request@macperl.org