{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Test-Specio-0.0.48-1.oe2403sp3.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-05-14T09:44:25.182336603Z",
    "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": "07fc3cf2043fe024095033dffd0a4eb96b6ef1b6e5e84b183acefa0f9a727232"
        }
      ],
      "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=aarch64&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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "36dbf8e08373b93f841a2f8b86c99cba84fd1d7ef275900ad60dee2ea56ef000"
        }
      ],
      "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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "f67dbfeaf66bdc68d185de06cf21b59da9ac705eb876d9be7e5f59b8abc0a285"
        }
      ],
      "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=aarch64&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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "41eae147fd2ab51275e5becc1f0b59c44bbda2183de6584df4ff64ce892ed667"
        }
      ],
      "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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "fb352d975667f38eaf64a063e7515b837aae11803a8126b3fa4eec322b3a3261"
        }
      ],
      "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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "9f65706a7c3712115c73b14dd6e4fac81b5523f81454c38057b012331ddaeea4"
        }
      ],
      "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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "26086d409602d7bb9c018135ae220461f824ae4e970035012b2dc956fcde7cf3"
        }
      ],
      "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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "5098b6a47cf5fb7e0de8bb893d5f71c2b5cff335865edae32815647c8be6fa8c"
        }
      ],
      "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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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": "4d0781d3aadf5d63f9ed8ff85333922223b5fbbff6627d50761ee8120c4e1624"
        }
      ],
      "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=aarch64&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/1237fc88d0e4da3b551ae22f7823fbad70d531e5e3e6588f120954709a623b3c-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"
    }
  ]
}
