user
Task

Demonstrate any interactive (or command line) help offered by the language implementation.

This can be for exploring features or syntax, or perhaps a simple message on where to find more information.
assistant
(formerly Perl 6)

Raku help is generally in a specialized text format known as POD (Plain Old Documentation). It is sometimes referred to as POD6 to distinguish it from Perl 5 POD which is slightly different and not completely compatible. Raku has a local command line help app: p6doc. zef install p6doc It also has online browsable HTML documentation at docs.raku.org. If you want to download the HTML docs for a local copy, or just prefer to browse the documentation as a single page docs.raku.org/perl6.html may be more to your preference. If you prefer a different format, there are utilities available to convert the POD docs to several different formats; Markdown, PDF, Latex, plain text, etc.

Individual Raku scripts are to some extent self-documenting. If the script has a MAIN sub, and it is called with improper parameters, it will display an automatically generated help message showing the various possible parameters, which are required, which are optional, and what type each takes:

```
sub MAIN(
    Str $run,             #= Task or file name
    Str :$lang = 'raku',  #= Language, default raku
    Int :$skip = 0,       #= Skip # to jump partially into a list
    Bool :f(:$force),     #= Override any skip parameter
) {
    # do whatever
}

```

When saved locally as main.raku and invoked with no (or wrong) passed parameters:

```
Usage:
  main.raku [--lang=<Str>] [--skip=<Int>] [-f|--force] <run>
  
    <run>           Task or file name
    --lang=<Str>    Language, default raku
    --skip=<Int>    Skip # to jump partially into a list
    -f|--force      Override any skip parameter

```