{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Test-Specio-0.0.48-1.oe2403.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-05-15T06:57:53.750891916Z",
    "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": "176ebd4fb555bd0b362a54b65a0f85b7722e7fec515c81a9bcc48a589e2c8c4b"
        }
      ],
      "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=x86_64&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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "9661ea59202cd1f2955155fa9ff9d93a1fc9f61c36252d153f08f33db6b6c903"
        }
      ],
      "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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "66e7df9c8bfab5b69f08ac98e84f58f3c33bf3d62341e347b38af905cdc89a13"
        }
      ],
      "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=x86_64&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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "64438f6b6d529a7578799b15156bab53926946e2151c11bccafd0df3c5affe06"
        }
      ],
      "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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "f11b0e95c4ec3df9ed03ee923a127b2cc84794a740dbe521f3adbfc52c7ca401"
        }
      ],
      "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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "90ce858de392a079db801686fb5550ee244f4a1606573f084df907e6b2764b8f"
        }
      ],
      "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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "8282e3d1f3cf70a6896983d20db368b1cddca749704e3a08eb613568b2e4536b"
        }
      ],
      "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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "e3e29826966d940c073a7e7948b1e818f968f08c8e0b40a4f9989351ba1907e0"
        }
      ],
      "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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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": "a4caaf2cfe60b5a51120e760a649115cd7ca3e2d8572ace789d814b209de55d3"
        }
      ],
      "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=x86_64&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/87ee4e92c1e5173adb9dd158ec9c2e7bd500bbe68c80fdd1cfc6721bbb15534f-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"
    }
  ]
}
