BSD Ports

devel/p5-Class-Multimethods 1.701 DragonFly

Support multimethods and function overloading in Perl

System
DragonFly
Repository
DPorts
Maintainer
[email protected] (as in FreeBSD)
License
ART10, GPLv1+
Categories
devel, perl5
Package size
25.0 KiB, 59.6 KiB installed

Description

The Class:Multimethod module exports a subroutine (&multimethod) that can be used to declare other subroutines that are dispatched using a algorithm different from the normal Perl subroutine or method dispatch mechanism.

Normal Perl subroutines are dispatched by finding the appropriately-named subroutine in the current (or specified) package and calling that. Normal Perl methods are dispatched by attempting to find the appropriately-named subroutine in the package into which the invoking object is blessed or, failing that, recursively searching for it in the packages listed in the appropriate @ISA arrays.

Class::Multimethods multimethods are dispatched quite differently. The dispatch mechanism looks at the classes or types of each argument to the multimethod (by calling ref on each) and determines the "closest" matching variant of the multimethod, according to the argument types specified in the variants' definitions (see "Finding the "nearest" multimethod" for a definition of "closest").

In the other systems

The newest version among them is 1.701, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
DragonFlydevel/p5-Class-Multimethods1.701 newestnone known-[email protected]-
FreeBSDdevel/p5-Class-Multimethods1.701 newestnone known-[email protected]-
OpenBSDdevel/p5-Class-Multimethods1.701p0 newestno data-The OpenBSD ports mailing-list <[email protected]>-
HardenedBSDdevel/p5-Class-Multimethods1.701 newestno data-[email protected]-
GhostBSDdevel/p5-Class-Multimethods1.701 newestno data-[email protected]-

Compare across BSDs

Install

Binary package:

pkg install p5-Class-Multimethods

From DPorts:

cd /usr/dports/devel/p5-Class-Multimethods && make install clean

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Run dependencies 1