• Home
  • Most Popular
  • Submit
  • About Us
  • Contact Us

Softpile

Free Downloads

Categories
  • Home
  • Most Popular
  • Communications
  • Desktop
  • Games & Entertainment
  • Graphic Apps
  • Network & Internet
  • Security & Privacy
  • System Utilities
Alternative to itextsharp 2022.11.10347
IronPDF offers an itextsharp alternative for HTML to PDF conversion with C# code examples, documentation, and ...
VShell Server for Linux and Mac 4.8
VShell is a versatile and secure file transfer server that supports multiple protocols and is compatible ...
PDF Studio PDF Editor for Linux 2022
PDF Studio is a cost-effective PDF editor that delivers full compatibility with the PDF Standard. It's ...
VQ Probe for Linux 1.5
VQ Probe is a comprehensive software tool that enables objective and subjective video quality analysis. The ...
Resilient Server 2.3
This Debian GNU/Linux (Buster) based software has a customized partitioning scheme that enhances robustness against filesystem ...
Valentina Studio for Linux 9.6
Valentina Studio is a cross-platform GUI manager for Mac, Windows, and Linux. It allows users to ...
VPN Lifeguard for Linux 1.0.58
The software monitors VPN connection and automatically terminates apps during connection loss, re-establishes the connection and ...
G_Viewer 0.84
G_Viewer is a Linux software that serves as both a file system and photo/image viewer. It ...
Checksome File Hash Tool for Linux 1.1
This software allows for the generation and verification of file hashes. It is a quick and ...
KeyWrangler Password Manager for Linux 1.2
A password management software that is secure, offline and extensible. It offers military-grade encryption to protect ...
Home Linux Class::Multimethods Download

Class::Multimethods

December 3, 2008
Perl software supports multimethods and function overloading to allow for more flexible programming approaches.
Version 1.70
License Perl Artistic License
Platform Linux
Supported Languages English
Homepage search.cpan.org
Developed by Damian Conway
The Class::Multimethod module is a powerful and flexible tool that allows for multimethods and function overloading in Perl. One key feature of this module is the subroutine (&multimethod) it exports for declaring other subroutines. These subroutines can then be dispatched using an algorithm different from the normal Perl subroutine or method dispatch mechanism.

In typical Perl subroutine dispatch, the appropriately-named subroutine is found in the current or specified package and called. In contrast, 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.

With Class::Multimethods, multimethods are dispatched in a different way. 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. This is similar to C++'s function overloading, but more intelligent, since multimethods take the inheritance relationships of each argument into account.

The result is that the module performs polymorphic dispatch on every argument of a method, not just the first. This allows for a great deal of flexibility and power in code, making it easy to declare variants of multimethods and have the most appropriate one dispatched.

The code examples provided demonstrate the module's functionality well. By utilizing the different variants of the find multimethod, the code can determine which variant to use depending on the argument types passed in. The result is precise and efficient dispatch of the correct functionality. Overall, Class::Multimethods is an excellent choice for developers looking to gain more control over subroutine dispatch in Perl.
What's New

Version 1.70: N/A

Free Download 27.7K
320
  • Share on:

Most Popular

  1. Quicksilver Forums 1.4.2
    157
  2. Dvgrab 3.4
    94
  3. DynVPN 1.0
    83
  4. CherryTV 0.1
    81
  5. SlideMap 1.2.2
    76
  6. porm r2
    72
  7. Clewarecontrol 0.8
    71
  8. Hills 2.0
    71
  9. fuseftp 0.8
    70
  10. Java Games 1.0
    70

Related Downloads

Linux Commander
Linux Commander is a robust file manager for UNIX systems, inspired by ...
eyeGaduGadu
eyeGadyGadu is a messaging software that works on the eyeOS platform. It ...
spotimeta
A software library designed to enable easy querying and accessing of the ...
DoctorJ
DoctorJ is a Java documentation analysis tool for software developers. It is ...
SEFlow
SEFlow facilitates the utilization of SELinux to manage the flow of data ...
Ext2 Filesystems Utilities
The e2fsprogs project provides essential utilities for creating, configuring, fixing, and debugging ...
Xfld
Xfld is a GNU/Linux operating system that acts as a live demo ...
Docmake
Docmake is a command line tool that converts DocBook/XML code to multiple ...
Big Brother Bot
This software offers comprehensive server administration tools for online gaming, providing complete ...
USBView
This software is a GTK+ application that shows the topology of USB ...
Copyright © 1999-2025 Softpile Free Downloads
  • Most Popular
  • Submit
  • About Us
  • Contact Us
  • Privacy Policy
  • Disclaimer
  • Terms of Use

Can we use your data to tailor ads for you?

Our partners will collect data and use cookies for ad personalization and measurement.

By choosing "I agree", closing this pop-up or clicking on any element on the page, you agree to the use of cookies to help us provide you with a better user experience.

Learn how Softpile and our partners collect and use data.

You can change your choice at any time in our privacy center.

Cookie Settings

Our website stores four types of cookies. At any time you can choose which cookies you accept and which you refuse. You can read more about what cookies are and what types of cookies we store in our Cookie Policy.

are necessary for technical reasons. Without them, this website may not function properly.

are necessary for specific functionality on the website. Without them, some features may be disabled.

allow us to analyse website use and to improve the visitor's experience.

allow us to personalise your experience and to send you relevant content and offers, on this website and other websites.