{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Switch-0.2.17-14.oe2403sp4.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-07-04T04:28:12.092529219Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/perl-Switch-0.2.17-14.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-Switch-2.17",
      "name": "perl-Switch",
      "licenseConcluded": "GPL-1.0-or-later or Artistic-1.0",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "ae41171ee0a13c8f814e0c523cd2b6d63bd07d441506211368017f595119ea5c"
        }
      ],
      "description": "Switch.pm provides the syntax and semantics for an explicit case mechanism for Perl.\nThe syntax is minimal, introducing only the keywords C<switch> and C<case> and conforming\nto the general pattern of existing Perl control structures. The semantics are particularly\nrich, allowing any one (or more) of nearly 30 forms of matching to be used when comparing\na switch value with its various cases.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Switch@2.17-14.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Switch-2.17-14.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Switch",
      "licenseDeclared": "GPL-1.0-or-later or Artistic-1.0",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "A switch statement for Perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.17-14.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-5.38.0",
      "name": "perl",
      "licenseConcluded": "(GPL-1.0-or-later or Artistic-1.0-perl) and (GPL-2.0-or-later or Artistic-1.0-perl) and MIT and UCD and Public Domain and BSD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "f6a219e87ba15fd71cefd81a8c9221532a409d314a7003a4dc39ae45c04a519c"
        }
      ],
      "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-12.oe2403sp4?arch=aarch64&epoch=4&upstream=perl-5.38.0-12.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "licenseDeclared": "(GPL-1.0-or-later or Artistic-1.0-perl) and (GPL-2.0-or-later or Artistic-1.0-perl) and MIT and UCD and Public Domain and BSD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "A highly capable, feature-rich programming language",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-12.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Carp-1.50",
      "name": "perl-Carp",
      "licenseConcluded": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "7d4bc93f9a4748d862b182314225700b0319c679b4baf699f285fec8c85a76e4"
        }
      ],
      "description": "The Carp routines are useful in your own modules because they act like\ndie() or warn(), but with a message which is more likely to be useful\nto a user of your module.  In the case of cluck, confess, and longmess\nthat context is a summary of every call in the call-stack.  For a shorter\nmessage you can use carp or croak which report the error as being from\nwhere your module was called.  There is no guarantee that that is where\nthe error was, but it is a good educated guess.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Carp@1.50-420.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Carp-1.50-420.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Carp",
      "licenseDeclared": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Alternative warn and die for modules",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.50-420.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Filter-1.64",
      "name": "perl-Filter",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "85795b918e2123f284e96a4ebc3a6bd2c870ed31366c447b3c21c40ddeaae3ca"
        }
      ],
      "description": "Source filters alter the program text of a module before Perl sees it, much as\na C preprocessor alters the source text of a C program before the compiler\nsees it.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Filter@1.64-1.oe2403sp4?arch=aarch64&epoch=2&upstream=perl-Filter-1.64-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Filter",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Perl source filters",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "2:1.64-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Text-Balanced-2.06",
      "name": "perl-Text-Balanced",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "83f170903e728cb8c86efc7aa4fd89d07cdc8958c8634b489aaa18e9f4d34d70"
        }
      ],
      "description": "These Perl subroutines may be used to extract a delimited substring, possibly\nafter skipping a specified prefix string.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Text-Balanced@2.06-1.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Text-Balanced-2.06-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Text-Balanced",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Extract delimited text sequences from strings",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:2.06-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-libs-5.38.0",
      "name": "perl-libs",
      "licenseConcluded": "(GPL-1.0-or-later or Artistic-1.0-perl) and MIT and UCD",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "383c1f0aa78ea84879fb79106d660f755942fc6e8b3825c329da257e9b0a84fb"
        }
      ],
      "description": "This package is the shared library for perl.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-libs@5.38.0-12.oe2403sp4?arch=aarch64&epoch=4&upstream=perl-5.38.0-12.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://www.perl.org/",
      "licenseDeclared": "(GPL-1.0-or-later or Artistic-1.0-perl) and MIT and UCD",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "The libraries for the perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:5.38.0-12.oe2403sp4"
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-rpm-perl-Switch-2.17",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-5.38.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Switch-2.17",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Carp-1.50"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Switch-2.17",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Filter-1.64"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Switch-2.17",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Text-Balanced-2.06"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Switch-2.17",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    }
  ]
}
