{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Readonly-0.2.05-8.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-Readonly-0.2.05-8.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-Readonly-2.05",
      "name": "perl-Readonly",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "3d98951a4938258133e3a732dfa0767c82c93684901784c052f1a9cc095fcc2c"
        }
      ],
      "description": "This is a facility for creating non-modifiable variables. This is useful for\nconfiguration files, headers, etc. It can also be useful as a development and\ndebugging tool for catching updates to variables that should not be changed.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Readonly@2.05-8.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Readonly-2.05-8.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Readonly",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Facility for creating read-only scalars, arrays, hashes",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.05-8.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-5.38.0",
      "name": "perl",
      "licenseConcluded": "(GPL-1.0-or-later or Artistic-1.0-perl) and (GPL-2.0-or-later or Artistic-1.0-perl) and MIT and UCD and Public Domain and BSD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "f6a219e87ba15fd71cefd81a8c9221532a409d314a7003a4dc39ae45c04a519c"
        }
      ],
      "description": "Perl 5 is a highly capable, feature-rich programming language with over 30 years of development.\nPerl 5 runs on over 100 platforms from portables to mainframes and is suitable for both rapid\nprototyping and large scale development projects.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl@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 (GPL-2.0-or-later or Artistic-1.0-perl) and MIT and UCD and Public Domain and BSD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "A highly capable, feature-rich programming language",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-12.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-Exporter-5.77",
      "name": "perl-Exporter",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "5de856a2dec6d608c1387e6f8be3f600bf2011cc60a536c7ad830fd7e4de7e4d"
        }
      ],
      "description": "The Exporter module implements an import method which allows a module to\nexport functions and variables to its users' name spaces. Many modules use\nExporter rather than implementing their own import method because Exporter\nprovides a highly flexible interface, with an implementation optimized for\nthe common case.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Exporter@5.77-2.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Exporter-5.77-2.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Exporter",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Implements default import method for modules",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:5.77-2.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Storable-3.25",
      "name": "perl-Storable",
      "licenseConcluded": "GPL+ or Artistic-1.0-Perl",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "8a9bdb093d2c40cc1442cd1bea3dfc6c6a5d8f18bfe687aa4554a2dbd55690b6"
        }
      ],
      "description": "The Storable extension brings persistence to your data.\nYou may recursively store to disk any data structure, no matter how\ncomplex and circular it is, provided it contains only SCALAR, ARRAY,\nHASH (possibly tied) and references (possibly blessed) to those items.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Storable@3.25-3.oe2403sp4?arch=aarch64&epoch=1&upstream=perl-Storable-3.25-3.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Storable",
      "licenseDeclared": "GPL+ or Artistic-1.0-Perl",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Persistence for Perl data structures",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "1:3.25-3.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-Readonly-2.05",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-5.38.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Readonly-2.05",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Carp-1.50"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Readonly-2.05",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Exporter-5.77"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Readonly-2.05",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Storable-3.25"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Readonly-2.05",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    }
  ]
}
