{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Module-Implementation-0.0.09-1.oe2403sp4.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-07-04T04:28:12.092529219Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/perl-Module-Implementation-0.0.09-1.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-Module-Implementation-0.09",
      "name": "perl-Module-Implementation",
      "licenseConcluded": "Artistic 2.0",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "89bb68741552d21b88fff28eb00871a7c3ded79c50604f04341686574a8aab27"
        }
      ],
      "description": "This module abstracts out the process of choosing one of several underlying\nimplementations for a module. This can be used to provide XS and pure Perl\nimplementations of a module, or it could be used to load an implementation\nfor a given OS or any other case of needing to provide multiple\nimplementations.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Module-Implementation@0.09-1.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Module-Implementation-0.09-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://search.cpan.org/dist/Module-Implementation/",
      "licenseDeclared": "Artistic 2.0",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Loads one of several alternate underlying implementations for a module",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.09-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Carp-1.50",
      "name": "perl-Carp",
      "licenseConcluded": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "7d4bc93f9a4748d862b182314225700b0319c679b4baf699f285fec8c85a76e4"
        }
      ],
      "description": "The Carp routines are useful in your own modules because they act like\ndie() or warn(), but with a message which is more likely to be useful\nto a user of your module.  In the case of cluck, confess, and longmess\nthat context is a summary of every call in the call-stack.  For a shorter\nmessage you can use carp or croak which report the error as being from\nwhere your module was called.  There is no guarantee that that is where\nthe error was, but it is a good educated guess.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Carp@1.50-420.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Carp-1.50-420.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Carp",
      "licenseDeclared": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Alternative warn and die for modules",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.50-420.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Module-Runtime-0.016",
      "name": "perl-Module-Runtime",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "be31fcede32bc82287ffb7382745c4975bae33ffa45861c2a6b898f342ccfd3f"
        }
      ],
      "description": "The functions exported by this module deal with runtime handling\nof Perl modules, which are normally handled at compile time. This\nmodule avoids using any other modules, so that it can be used in\nlow-level infrastructure",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Module-Runtime@0.016-5.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Module-Runtime-0.016-5.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Module-Runtime",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Runtime module handling",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.016-5.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Try-Tiny-0.31",
      "name": "perl-Try-Tiny",
      "licenseConcluded": "MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "067f599d209b504018b84590333b9f3e7ea7d74884672b8e5c2f842d389bf6f7"
        }
      ],
      "description": "This module provides bare bones try/catch statements that are designed to minimize common mistakes with\neval blocks, and NOTHING else.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Try-Tiny@0.31-2.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Try-Tiny-0.31-2.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Try-Tiny",
      "licenseDeclared": "MIT",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Minimal try/catch with proper preservation of $@",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.31-2.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-libs-5.38.0",
      "name": "perl-libs",
      "licenseConcluded": "(GPL-1.0-or-later or Artistic-1.0-perl) and MIT and UCD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "383c1f0aa78ea84879fb79106d660f755942fc6e8b3825c329da257e9b0a84fb"
        }
      ],
      "description": "This package is the shared library for perl.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-libs@5.38.0-12.oe2403sp4?arch=aarch64&epoch=4&upstream=perl-5.38.0-12.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "licenseDeclared": "(GPL-1.0-or-later or Artistic-1.0-perl) and MIT and UCD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "The libraries for the perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-12.oe2403sp4"
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-rpm-perl-Module-Implementation-0.09",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Carp-1.50"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Module-Implementation-0.09",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Module-Runtime-0.016"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Module-Implementation-0.09",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Try-Tiny-0.31"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Module-Implementation-0.09",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    }
  ]
}
