SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 

perl-Acme-Sub-Parms rpm build for : openSUSE Tumbleweed. For other distributions click perl-Acme-Sub-Parms.

Name : perl-Acme-Sub-Parms
Version : 1.03 Vendor : obs://build_opensuse_org/devel:languages:perl
Release : 1.44 Date : 2024-08-05 20:14:58
Group : Development/Libraries/Perl Source RPM : perl-Acme-Sub-Parms-1.03-1.44.src.rpm
Size : 0.06 MB
Packager : (none)
Summary : Function/Method parameter processing handlers
Description :
Acme::Sub::Parms uses a source filter to rewrite the code during the module
load with efficient inline parameter processing code that handles some
common cases for simple Perl style named parameter key/value parameter
lists. It can handle either case-sensitive or case-insensitive parameters
as desired.

In essence, it provides some syntactic sugar for parameter declaration and
validation.

Typical usage is follows:

sub a_function {
BindParms : (
my $somevariable : parameter_name [required];
my $anothervariable : another_parameter_name [optional];
)


}

*IMPORTANT:* The whitespace before and after the \':\' in the \'BindParms : (\'
starting declaration *IS NOT* optional.

Second, the entire declaration must be on one line: No line breaks in the
middle or other code on the line.

You can make the passed parameter names case insensitive by adding the
\':normalize\' option on the \'use\' line.

Acme::Sub::Parms does not handle anonymous hashes for parameters. It
expects parameters lists to be passed as \'flat\' lists. This is due to
performance issues. The additional code required to handle both \'flat\' and
\'anon hash\' parameters has a noticable performance hit for simple cases.
Since one of the goals of this module is to be *fast* and a survey of
existing modules indicates most authors use \'flat\' parameters lists, that
is what Acme::Sub::Parms does as well. If you prefer using anon hashes.
just dereference them before using them to call.

Good Example:

some_function(\'a_parm\' => \'value);

sub some_function {
BindParms : (
my $variable : a_parm;
)


}

Example of dereferencing anon hash parms:

my $parms = { \'a_parm\' => \'value\' };
some_function(%$parms);

Broken Examples:

some_function({ \'a_parm\' => \'value} }); # WILL NOT WORK

my $parms = { \'a_parm\' => \'value\' };
some_function($parms); # WILL NOT WORK


sub some_function {
BindParms : (
my $variable : a_parm;
)


}

RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-A/openSUSE_Tumbleweed/noarch

Content of RPM  Provides Requires

Download
ftp.icm.edu.pl  perl-Acme-Sub-Parms-1.03-1.44.noarch.rpm
     

Provides :
perl(Acme::Sub::Parms)
perl-Acme-Sub-Parms

Requires :
perl(:MODULE_COMPAT_5.40.0)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1


Content of RPM :
/usr/lib/perl5/vendor_perl/5.40.0/Acme
/usr/lib/perl5/vendor_perl/5.40.0/Acme/Sub
/usr/lib/perl5/vendor_perl/5.40.0/Acme/Sub/Parms.pm
/usr/lib/perl5/vendor_perl/5.40.0/Acme/Sub/Parms.pod
/usr/share/doc/packages/perl-Acme-Sub-Parms
/usr/share/doc/packages/perl-Acme-Sub-Parms/Changes
/usr/share/doc/packages/perl-Acme-Sub-Parms/README
/usr/share/doc/packages/perl-Acme-Sub-Parms/TODO
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/bench-parm-parsers-ci-novalid.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/bench-parm-parsers-ci.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/bench-parm-parsers-cs-novalid.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/bench-parm-parsers-cs.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/dereferenced-anon-hash.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/function_use_example.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/line-warn.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/object_use_example.pl
/usr/share/doc/packages/perl-Acme-Sub-Parms/examples/testing-optimizations.pl
/usr/share/licenses/perl-Acme-Sub-Parms
/usr/share/licenses/perl-Acme-Sub-Parms/LICENSE
/usr/share/man/man3/Acme::Sub::Parms.3pm.gz

 
ICM