On Sat, Jun 27, 2015 at 05:39:32PM -0500, Tom Browder wrote:
> I'm trying to take advantage of the MAIN suroutine to handle most all of my
> routine command line arg handling.  One idiom I use a lot is for the user
> to choose only one of two args, but one must be chosen.

Perhaps you want that the named arguments are required rather than
optional, via the exclamation point.  Thus:

    multi sub MAIN(:$need!) { say "need"; }

    multi sub MAIN(:$hope!) { say "hope"; }

If passed with either option, it executes the corresponding multi candidate.
If neither or both options are passed, it produces a usage message:

    pmichaud@kiwi:~/p6/rakudo$ ./perl6 x.p6
      x.p6 --need=<Any> 
      x.p6 --hope=<Any> 


Reply via email to