On Thu, Nov 29, 2007 at 04:10:12AM +0100, A. Pagaltzis wrote: > * Andy Armstrong <[EMAIL PROTECTED]> [2007-11-29 04:02]: > > I agree re the semantics of '--' - but I'd rather have a > > sentinel than a quoted string. Having to get nested quoting > > right is a bit of cognitive load we can spare people from. > > > > So: > > > > * Andy's --testargs has the disadvantage of being visually > > indistinct from regular args > > * '--' has another meaning by convention > > > > How about some other short, not arg like, shell safe punctuation sequence? > > > > $ prove -v t/sprocket.t -+ --teeth 12 > > How about a double colon? > > $ prove -v t/sprocket.t :: --teeth 12 > > It’s quite unlikely that anyone would name a test file `::`. In > fact no one who has to care about Windows at all (which would be > everyone who isn’t writing (Linux|Mac|BSD)::* modules) would want > to do that because on Windows you *can’t* name a file `::`. > > (A single colon would do just as well, but might get visually lost > in a long `prove` invocation.) >
I like the :: (double something, just like --, and not interpreted by the shell), and agree that -- is already useful (and already has a meaning for prove, since it uses Getopt::Long). It would work well with: $ prove -v -r -- -file-with-initial-dash.t t/ :: arg1 arg2 I guess ++ would work too: $ prove -v -r -- -file-with-initial-dash.t t/ ++ arg1 arg2 Mmm, maybe I like ++ over ::. And -- should be kept meaning what it already means. -- Philippe Bruhat (BooK) The best of intentions must still have directions. (Moral from Groo The Wanderer #95 (Epic))