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