Linux workstation

Upstream software project

libasa-perl

Lets your class/object say it works like something else

About libasa-perl

Lets your class/object say it works like something else

This project links 7 native package records across 5 recorded operating-system releases. Compare the retained versions and architectures below, then open the package for your own release.

These are catalog observations, not a guarantee of installation, compatibility, or upstream support.

Project pictures and package coverage

Debian 12 (Bookworm): 1 package records; Debian 13 (Trixie): 1 package records; Fedora 43: 2 package records; Fedora 44: 2 package records; openSUSE Tumbleweed: 1 package records. Catalog coverage diagram, not an application screenshot.libasa-perl: recorded package coverageDebian 12 (Bookworm)1 recordsDebian 13 (Trixie)1 recordsFedora 432 recordsFedora 442 recordsopenSUSE Tumbleweed1 records
OpenFactory diagram of linked package records. It is not an application screenshot.

Project identity

Project
libasa-perl
Publisher
Not authoritatively mapped
Native package records
7
Operating systems
debian-12, debian-13, fedora-43, fedora-44, opensuse-tumbleweed
License expression
Artistic-1.0 OR GPL-1.0-or-later
Metadata completeness
100/100 (not a software quality rating)
Source repository
Not reported

Source-reported description

The fullest retained description is shown with its source. Distribution packaging descriptions may include downstream details.

Perl 5 doesn't natively support Java-style interfaces, and it doesn't support Perl 6 style roles either. You can get both of these things in half a dozen different ways via various CPAN modules, but they usually require that you buy into "their way" of implementing your code. Other have turned to "duck typing". This is, for the most part, a fairly naive check that says "can you do this method", under the "if it looks like a duck, and quacks like a duck, then it must be a duck". It assumes that if you have a '->quack' method, then they will treat you as a duck, because doing things like adding 'Duck' to your '@ISA' array means you are also forced to take their implementation. There is, of course, a better way. For better or worse, Perl's '->isa' functionality to determine if something is or is not a particular class/object is defined as a *method*, not a function, and so that means that as well as adding something to you '@ISA' array, so that Perl's 'UNIVERSAL::isa' method can work with it, you are also allowed to simply overload your own 'isa' method and answer directly whether or not you are something. The simplest form of the idiom looks like this. sub isa { return 1 if $_[1] eq 'Duck'; shift->SUPER::isa(@_); } This reads "Check my type as normal, but if anyone wants to know if I'm a duck, then tell them yes". Now, there are a few people that have argued that this is "lying" about your class, but this argument is based on the idea that '@ISA' is somehow more "real" than using the method directly. It also assumes that what you advertise you implement needs to be in sync with the method resolution for any given function. But in the best and cleanest implementation of code, the API is orthogonal (although most often related) to the implementation. And although '@ISA' is about implementation *and* API, overloading 'isa' to let you change your API is not at all bad when seen in this light.

Description source

Packages by operating system

Compare recorded versions, then open a package for dependency, file, checksum, and repository evidence. Version strings are distribution-specific, not a ranking of newer software.

Debian 12 (Bookworm)

  1. libasa-perl

    Debian 12 (Bookworm) / perl

    1.04-3

    Perl module for expanding a class or object's list of base classes

    allbookworm

Debian 13 (Trixie)

  1. libasa-perl

    Debian 13 (Trixie) / perl

    1.04-3

    Perl module for expanding a class or object's list of base classes

    alltrixie

Fedora 43

  1. perl-asa

    Fedora 43 / Unspecified / source perl-asa

    1.04-20.fc43

    Lets your class/object say it works like something else

    noarch43
  2. perl-asa-tests

    Fedora 43 / Unspecified / source perl-asa

    1.04-20.fc43

    Tests for perl-asa

    noarch43

Fedora 44

  1. perl-asa

    Fedora 44 / Unspecified / source perl-asa

    1.04-21.fc44

    Lets your class/object say it works like something else

    noarch44
  2. perl-asa-tests

    Fedora 44 / Unspecified / source perl-asa

    1.04-21.fc44

    Tests for perl-asa

    noarch44

openSUSE Tumbleweed

  1. perl-asa

    openSUSE Tumbleweed / Development/Libraries/Perl / source perl-asa

    1.04-1.28

    Lets your class/object say it works like something else

    noarchtumbleweed

Project resources and further reading

Mapping provenance

Only source-backed identity signals create public cross-OS links. A reviewer can later approve or dispute an inferred relationship without rewriting native package history.

No field-level source record is published yet.