On Tue, Sep 24, 2019 at 09:50:06AM +0200, Marc Chantreux wrote: > hello, > > i don't know if it's useful to feedback on it but i would like to share > about MAIN. > > this is a very nice thing to have it built-in so the quality of your > scripts can be improved without effort ($*USAGE is very nice!) but > here are some parts i feel i miss. > > * dealing with $*ARGFILES should be simpler (something like the closing @ in > perl5 signatures) > * a support of arguments cluster would be (both '-s -d +' and '-sd+' should > be valid)
I know this is not quite what you're looking for, but JFTR (shameless
plug) there is the Getopt::Std Perl 6 module that implements old-style
getopt()-like argument parsing. The downsides are that it does not
support long options (this is on purpose - I personally am not a big fan
of long options, although I do understand why others may like them),
it does not do automatic --help and --version handling (also on purpose,
maybe I'm a bit of a control freak, but I do like the code paths to be
explicit), and, of course, it does not have the awesome Perl 6 "multi
sub MAIN" automated handling of groups of options :)
> * having something like auto-help that print $*USAGE on $*OUT
>
> multi sub MAIN ( Bool :h(:$help), +@rest ) { $*USAGE.say }
Just to make it clear: I very much like that Perl 6 has automated
options handling depending on the arguments to MAIN, it's just that some
of my programs do not need it.
> aside: the perl6 error messages comes with escape caracters even if $*ERR
> isn't tty.
> this is unusual and makes things boring when you capture the error into
> an editor or a filter. i don't know if it can be useful in some cases.
G'luck,
Peter
--
Peter Pentchev roam@{ringlet.net,debian.org,FreeBSD.org} [email protected]
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13
signature.asc
Description: PGP signature
