OpenBSD::PackageName(3p) Perl Programmers Reference Guide

OpenBSD::PackageName(3p) Perl Programmers Reference Guide #

OpenBSD::PackageName(3p) Perl Programmers Reference Guide

NNAAMMEE #

 OpenBSD::PackageName - package names handling

SSYYNNOOPPSSIISS #

    use OpenBSD::PackageName;

    $pkgname = OpenBSD::PackageName::url2pkgname($url);

    ($stem, $version, @flavors) = OpenBSD::PackageName::splitname($pkgname);
    $stem = OpenBSD::PackageName::splitstem($pkgname);

    OpenBSD::PackageName::is_stem($stem) == 1;
    OpenBSD::PackageName::is_stem($pkgname) == 0;

    @candidates = OpenBSD::PackageName::findstem($stem, @pkgnames);
    # alternate interface
    $h = OpenBSD::PackageName::compile_stemlist(@pkgnames);
    @candidates = $h->findstem($stem);

DDEESSCCRRIIPPTTIIOONN #

 "OpenBSD::PackageName" is the canonical interface to package names
 handling.

 "OpenBSD::PackageName::url2pkgname($url)"
     strip an $url of path elements and ".tgz" suffixes, yield a
     canonicalized package name.

 "OpenBSD::PackageName::splitname($pkgname)"
     split a $pkgname into a $stem, a $version number, and a (possibly
     empty) list of @flavors components.  If the name contains no
     identifiable version, $version will be "undef".

 "OpenBSD::PackageName::splitstem($pkgname)"
     short version of "splitname" that extracts only the $stem.

 "OpenBSD::PackageName::is_stem($string)"
     check whether a $string is a valid stem, as opposed to a full package
     name.  Useful for commands that take either full names or stems, and
     need to reconstruct the full name from the stem.

 "OpenBSD::PackageName::findstem($stem, @pkgnames)"
     look up a $stem into a list of @pkgnames. Return a list of candidates
     for further processing.

 "OpenBSD::PackageName::compile_stemlist(@pkgnames)"
     alternate interface that is faster when lots of look ups are
     involved.  Compile a list of @pkgnames into an object $h that can be
     queried using "$h->findstem($stem)".

perl v5.36.3 2020-12-20 OpenBSD::PackageName(3p)