I would suggest starting by reading this page in the docs : https://docs.raku.org/language/create-cli
Covers how $*USAGE is created and the various options you have for providing help data. On Tue, 5 May 2020, 06:46 ToddAndMargo via perl6-users, < perl6-users@perl.org> wrote: > Hi All, > > Just to prove I read the stinker: > https://docs.raku.org/routine/MAIN > > I am trying to get the following to do > > #!/usr/bin/env perl6 > sub MAIN(:$these ="These", :$are="Are") { say "$these $are"; } > > This is working: > > $ MainTest.pl6 --are=our --these=those > those our > > > These two are not: > > 1) I am trying to get MAIN to give me an error I can > call my help sub if a stray entry is placed in > the run line > > $ MainTest.pl6 --are=our --these=those --saywhat=abc > Usage: > MainTest.pl6 [--these=<Any>] [--are=<Any>] > > Here it find `--saywhat=abc` and MAIN writes out the above > usage statement. > > A) I want to write it out myself. I would like the > string too, but don't have to have it. > > B) I would like the stray entry. > > > 2) Here I want to pick up the remainder (abc) at the end, > but can't figure out the syntax in the sub declaration. > > Something like: > dnf --excluderepo=acb* install raku > > $ MainTest.pl6 --are=our --these=those abc > Usage: > MainTest.pl6 [--these=<Any>] [--are=<Any>] > > Instead of MAIN writing out usage. > > Many thanks, > -T >