You can get the current routine name by calling C<&?ROUTINE.name>.
(The outermost routine at a file-scoped compilation unit is always
named C<&MAIN> in the file's package.)
Is this the same MAIN that is described later in
"Declaring a MAIN subroutine"? It seems like that
section describes MAIN subroutines that are lexically
nested within the mainline code of the outermost
file-scoped compilation unit, and it seems a little
confusing if both are called MAIN.
I'm guessing that the statement at S06:2362 is an artifact of
an earlier draft that didn't have the section on MAIN subroutines,
but I'm wanting to verify that this is the case (or seek further
clarification if it isn't).