Name : perl-Getopt-Long-EvenLess
| |
Version : 0.112
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : lp155.1.1
| Date : 2023-07-20 17:08:46
|
Group : Development/Libraries/Perl
| Source RPM : perl-Getopt-Long-EvenLess-0.112-lp155.1.1.src.rpm
|
Size : 0.04 MB
| |
Packager : https://www_suse_com/
| |
Summary : Like Getopt::Long::Less, but with even less features
|
Description :
This module (GLEL for short) is a reimplementation of Getopt::Long (GL for short), but with much less features. It\'s an even more stripped down version of Getopt::Long::Less (GLL for short) and is perhaps less convenient to use for day-to-day scripting work.
The main goal is minimum amount of code and small startup overhead. This module is an experiment of how little code I can use to support the stuffs I usually do with GL.
Compared to GL and GLL, it:
* * has minimum Configure() support
Only these configurations are known: pass_through, no_pass_through (default).
GLEL is equivalent to GL in this mode: bundling, no_ignore_case, no_getopt_compat, gnu_compat, permute.
No support for configuring via import options e.g.:
use Getopt::Long qw(:config pass_through);
* * does not support increment (\'foo+\')
* * no type checking (\'foo=i\', \'foo=f\', \'foo=s\' all accept any string)
* * does not support optional value (\'foo:s\'), only no value (\'foo\') or required value (\'foo=s\')
* * does not support desttypes (\'foo=sAATT\')
* * does not support destination other than coderef (so no \'\"foo=s\" => \\$scalar\', \'\"foo=s\" => \\AATTary\', no \'\"foo=s\" => \\%hash\', only \'\"foo=s\" => sub { ... }\')
Also, in coderef destination, code will get a simple hash instead of a \"callback\" object as its first argument.
* * does not support hashref as first argument
* * does not support bool/negation (no \'foo!\', so you have to declare both \'foo\' and \'no-foo\' manually)
The result?
*Amount of code*. GLEL 0.07 is about 175 lines of code, while GL is about 1500. Sure, if you _really_ want to be minimalistic, you can use this single line of code to get options:
AATTARGV = grep { /^--([^=]+)(=(.*))?/ ? ($opts{$1} = $2 ? $3 : 1, 0) : 1 } AATTARGV;
and you\'re already able to extract \'--flag\' or \'--opt=val\' from \'AATTARGV\' but you also lose a lot of stuffs like autoabbreviation, \'--opt val\' syntax support syntax (which is more common, but requires you specify an option spec), custom destination, etc.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-G/15.5/noarch |