On 30 Nov 2007, at 00:34, Eric Wilhelm wrote:
It's not so-much 'technical limitations' as 'loss of clarity' wrt
spaces
that kills the quoted scheme.
I suggest that there be a start sentinel and optional end sentinell
--test-args --foo --bar --baz --whatever and -- such
Would call the tests with qw(--foo --bar --baz --whatever and --
such).
That is, args continue thru to $ARGV[$#ARGV] if there is no
grep({$ARGV[$_] eq '--end-test-args'} 0..$#ARGV) or so.
This means buzzword#42 (simplethingssimple-hardthingspossible) where
the
complicated (aliases, wrappers, etc) case is like:
--test-args --foo --bar --baz --whatever and -- such --end-test-
args \
--more-prove-args and --things "of this nature" -- \
--and --some --funny-filenames too
Why so verbose?
Aristotle's '::' suggestion is my favourite. It's syntactically clean.
It's visually distinct from other switches - so you can easily see
that something special is happing. It's short.
If you want to be able to flip flop in and out of test args and prove
args modes just repeat it and say that tests can't use '::' as an arg.
$ prove -rb :: gargoyle :: --state=hot,save,all :: splendour :: t/spog.t
--
Andy Armstrong, Hexten