{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Test-Specio-0.0.48-1.oe2403sp3.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-05-14T13:11:03.911431983Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/perl-Test-Specio-0.0.48-1.oe2403sp3.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-5.38.0",
      "name": "perl",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "db6ec701b8fda17b36abd847ea905dc4705255ac160039b9db87fe4cd96c7dca"
        }
      ],
      "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-10.oe2403sp3?arch=x86_64&epoch=4&upstream=perl-5.38.0-10.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "A highly capable, feature-rich programming language",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-10.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Exporter-5.77",
      "name": "perl-Exporter",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "67b2be830da6940a71ce5d91c45cda7790b617ae87936bf664093e242557780c"
        }
      ],
      "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.oe2403sp3?arch=noarch&epoch=0&upstream=perl-Exporter-5.77-2.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Exporter",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "Implements default import method for modules",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:5.77-2.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Scalar-List-Utils-1.63",
      "name": "perl-Scalar-List-Utils",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "fac57ac6918d9fe1ef74832897d9f5fc6497a0a4d9b25e9592a187a023333a24"
        }
      ],
      "description": "This package contains a selection of subroutines that people have\nexpressed would be nice to have in the perl core, but the usage would not\nreally be high enough to warrant the use of a keyword, and the size so\nsmall such that being individual extensions would be wasteful.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Scalar-List-Utils@1.63-1.oe2403sp3?arch=x86_64&epoch=4&upstream=perl-Scalar-List-Utils-1.63-1.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Scalar-List-Utils",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "Common Scalar and List utility subroutines",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:1.63-1.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Specio-0.48",
      "name": "perl-Specio",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "0be362a2e9d7021c25855d3b365d2de6fd56a66ae3db119d9a892dc79ab7722f"
        }
      ],
      "description": "The Specio distribution provides classes for representing type constraints\nand coercion, along with syntax sugar for declaring them.\n\nNote that this is not a proper type system for Perl. Nothing in this\ndistribution will magically make the Perl interpreter start checking a value's\ntype on assignment to a variable. In fact, there's no built-in way to apply a\ntype to a variable at all.\n\nInstead, you can explicitly check a value against a type, and optionally coerce\nvalues to that type.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Specio@0.48-1.oe2403sp3?arch=noarch&epoch=0&upstream=perl-Specio-0.48-1.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Specio",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "Type constraints and coercions for Perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.48-1.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Sub-Quote-2.005001",
      "name": "perl-Sub-Quote",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "ad5c775f3e1488edd1f71e9f75a91ca26480da45fe9682734459c5cc7ed79448"
        }
      ],
      "description": "This package provides performant ways to generate subroutines from strings.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Sub-Quote@2.005001-4.oe2403sp3?arch=noarch&epoch=0&upstream=perl-Sub-Quote-2.005001-4.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Sub-Quote",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "Efficient generation of subroutines via string eval",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.005001-4.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Test-Fatal-0.014",
      "name": "perl-Test-Fatal",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "aaca0218e46b3f35904ffaf783320e04c846fdea20049a4c4b9ac4f59ef2869f"
        }
      ],
      "description": "Test::Fatal is an alternative to the popular Test::Exception.\nIt does much less, but should allow greater flexibility in\ntesting exception-throwing code with about the same amount\nof typing.\nIt exports one routine by default: exception.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Test-Fatal@0.014-13.oe2403sp3?arch=noarch&epoch=0&upstream=perl-Test-Fatal-0.014-13.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Test-Fatal",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "Incredibly simple helpers for testing code with exceptions",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.014-13.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Test-Simple-1.302198",
      "name": "perl-Test-Simple",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "36f8110c04fdb3db8256e1f98679cbad7655430340eedd78f0cca196b57bbb08"
        }
      ],
      "description": "This package provides the bulk of the core testing facilities. For more\ninformation, see perldoc for Test::Simple, Test::More, etc.\n\nThis package is the CPAN component of the dual-lifed core package Test-Simple.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Test-Simple@1.302198-1.oe2403sp3?arch=noarch&epoch=2&upstream=perl-Test-Simple-1.302198-1.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Test-Simple",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "Basic utilities for writing tests",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "2:1.302198-1.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Try-Tiny-0.31",
      "name": "perl-Try-Tiny",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "6a638c4a924baf9754c709f53f054d666bce5a6760421c28169ec0cf5cd6468f"
        }
      ],
      "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.oe2403sp3?arch=noarch&epoch=0&upstream=perl-Try-Tiny-0.31-2.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Try-Tiny",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "Minimal try/catch with proper preservation of $@",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.31-2.oe2403sp3"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-libs-5.38.0",
      "name": "perl-libs",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "bbddb64223440ac51d3a031901f2ebd81372666046191f404bb254e28c528307"
        }
      ],
      "description": "This package is the shared library for perl.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-libs@5.38.0-10.oe2403sp3?arch=x86_64&epoch=4&upstream=perl-5.38.0-10.oe2403sp3.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "sourceInfo": "acquired package info from repodata DB: repodata/1884cb0675d766cb1ea3a90cf36ea6d3dfc5e5497f6f1351d21c61704c368e98-primary.sqlite.bz2",
      "summary": "The libraries for the perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-10.oe2403sp3"
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-5.38.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Exporter-5.77"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Scalar-List-Utils-1.63"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Specio-0.48"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Sub-Quote-2.005001"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Test-Fatal-0.014"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Test-Simple-1.302198"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Try-Tiny-0.31"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Test-Specio-0.48",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    }
  ]
}
