{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Test-Specio-0.0.48-1.oe2403.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-05-14T14:17:38.370562542Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/perl-Test-Specio-0.0.48-1.oe2403.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-5.38.0",
      "name": "perl",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "2ded9f08089b780a7a30d372e97d7e227b5e5b744199f8185d5d2fb66683ab77"
        }
      ],
      "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-6.oe2403?arch=aarch64&epoch=4&upstream=perl-5.38.0-6.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "A highly capable, feature-rich programming language",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-6.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Exporter-5.77",
      "name": "perl-Exporter",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "cc7975eb32f4fcf8bdf136bdde4ff5887c0d17027633ae4774566a4366c33b5c"
        }
      ],
      "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-1.oe2403?arch=noarch&epoch=0&upstream=perl-Exporter-5.77-1.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Exporter",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "Implements default import method for modules",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:5.77-1.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Scalar-List-Utils-1.63",
      "name": "perl-Scalar-List-Utils",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "38ea92cfb9f646aed29c3fa9a7d62a6eef4ebb3d773b2e50354f7f9ae805fb2d"
        }
      ],
      "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.oe2403?arch=aarch64&epoch=4&upstream=perl-Scalar-List-Utils-1.63-1.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Scalar-List-Utils",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "Common Scalar and List utility subroutines",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:1.63-1.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Specio-0.48",
      "name": "perl-Specio",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "fa52f82cdf342089c4d6d7b131ff0fc0009bfc041ba999db510ed53642d97abc"
        }
      ],
      "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.oe2403?arch=noarch&epoch=0&upstream=perl-Specio-0.48-1.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Specio",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "Type constraints and coercions for Perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.48-1.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Sub-Quote-2.005001",
      "name": "perl-Sub-Quote",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "f52ac62e8a84cb3c81a6554b7ec3b14e5a565dc59e4f7f14cd1187f58fcbb293"
        }
      ],
      "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.oe2403?arch=noarch&epoch=0&upstream=perl-Sub-Quote-2.005001-4.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Sub-Quote",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "Efficient generation of subroutines via string eval",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.005001-4.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Test-Fatal-0.014",
      "name": "perl-Test-Fatal",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "6bd1eeec575baaac912519362da084f7dfe6a2702d5d2d1fa5ec095f65f3968f"
        }
      ],
      "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.oe2403?arch=noarch&epoch=0&upstream=perl-Test-Fatal-0.014-13.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Test-Fatal",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "Incredibly simple helpers for testing code with exceptions",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.014-13.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Test-Simple-1.302198",
      "name": "perl-Test-Simple",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "77bc0602a21ac9f8c7bb945cc71ce00ee5f2d0d98d055fba99a9bca65c928267"
        }
      ],
      "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.oe2403?arch=noarch&epoch=2&upstream=perl-Test-Simple-1.302198-1.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Test-Simple",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "Basic utilities for writing tests",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "2:1.302198-1.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Try-Tiny-0.31",
      "name": "perl-Try-Tiny",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "4babe42756feab9169c680d698848901e9045aed2f166eefee4c20e084627973"
        }
      ],
      "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.oe2403?arch=noarch&epoch=0&upstream=perl-Try-Tiny-0.31-2.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Try-Tiny",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "Minimal try/catch with proper preservation of $@",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.31-2.oe2403"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-libs-5.38.0",
      "name": "perl-libs",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "2bf30e661658e70e5a40d5bd8649f26c36a5a89420e2c4078b7851958f3fee8e"
        }
      ],
      "description": "This package is the shared library for perl.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-libs@5.38.0-6.oe2403?arch=aarch64&epoch=4&upstream=perl-5.38.0-6.oe2403.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "sourceInfo": "acquired package info from repodata DB: repodata/6a4762c6f9f76cc1a4c44e432c97d08c2803b6e0e96a0a4bdf1aec71664120f2-primary.sqlite.bz2",
      "summary": "The libraries for the perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-6.oe2403"
    }
  ],
  "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"
    }
  ]
}
