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))