{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-B-Hooks-EndOfScope-0.0.26-1.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-B-Hooks-EndOfScope-0.0.26-1.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-B-Hooks-EndOfScope-0.26",
      "name": "perl-B-Hooks-EndOfScope",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "4debb3d285ad582e3b25516a822680ec56242d5df8838cbd881ae12330b7e278"
        }
      ],
      "description": "This module allows you to execute code when perl finished compiling the\nsurrounding scope.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-B-Hooks-EndOfScope@0.26-1.oe2403sp4?arch=noarch&epoch=0&upstream=perl-B-Hooks-EndOfScope-0.26-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://search.cpan.org/dist/B-Hooks-EndOfScope/",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Execute code after a scope finished compilation",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.26-1.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-Module-Implementation-0.09",
      "name": "perl-Module-Implementation",
      "licenseConcluded": "Artistic 2.0",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "89bb68741552d21b88fff28eb00871a7c3ded79c50604f04341686574a8aab27"
        }
      ],
      "description": "This module abstracts out the process of choosing one of several underlying\nimplementations for a module. This can be used to provide XS and pure Perl\nimplementations of a module, or it could be used to load an implementation\nfor a given OS or any other case of needing to provide multiple\nimplementations.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Module-Implementation@0.09-1.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Module-Implementation-0.09-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://search.cpan.org/dist/Module-Implementation/",
      "licenseDeclared": "Artistic 2.0",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Loads one of several alternate underlying implementations for a module",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.09-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Scalar-List-Utils-1.63",
      "name": "perl-Scalar-List-Utils",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "02d8dd5f9d346be528a3b3d21285be65f187f46c0f064bd45a2b5b29b3db0ea4"
        }
      ],
      "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.oe2403sp4?arch=aarch64&epoch=4&upstream=perl-Scalar-List-Utils-1.63-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Scalar-List-Utils",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Common Scalar and List utility subroutines",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "4:1.63-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Sub-Exporter-Progressive-0.001013",
      "name": "perl-Sub-Exporter-Progressive",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "304629df9fce12a239604159a42c52985a52ab8c33474783846997344558ef8a"
        }
      ],
      "description": "Sub::Exporter is a sophisticated exporter for custom-built routines.\nAnd this module is the The progressive version of Sub::Exporter.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Sub-Exporter-Progressive@0.001013-8.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Sub-Exporter-Progressive-0.001013-8.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Sub-Exporter-Progressive",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "The progressive version of Sub::Exporter",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.001013-8.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Variable-Magic-0.64",
      "name": "perl-Variable-Magic",
      "licenseConcluded": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "e537dee5ba3b71f28f37c9218f61731d45840c8951118a450e1c4097e3a3f1cc"
        }
      ],
      "description": "Magic is Perl's way of enhancing variables. This mechanism lets the user\nadd extra data to any variable and hook syntactical operations (such as\naccess, assignment or destruction) that can be applied to it. With this\nmodule, you can add your own magic to any variable without having to write\na single line of XS.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Variable-Magic@0.64-1.oe2403sp4?arch=aarch64&epoch=0&upstream=perl-Variable-Magic-0.64-1.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://search.cpan.org/dist/Variable-Magic/",
      "licenseDeclared": "GPL-1.0-or-later OR Artistic-1.0-Perl",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Associate user-defined magic to variables from Perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.64-1.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-constant-1.33",
      "name": "perl-constant",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "c8cfd89c00a40c29398b392f3ebdb9732ae7d88ab4978c931f6801f0771f04fb"
        }
      ],
      "description": "This pragma allows you to declare constants at compile-time.\nWhen a constant is used in an expression, Perl replaces it with its\nvalue at compile time, and may then optimize the expression further.\nIn particular, any code in an \"if (CONSTANT)\" block will be optimized\naway if the constant is false.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-constant@1.33-423.oe2403sp4?arch=noarch&epoch=0&upstream=perl-constant-1.33-423.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/constant",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Perl pragma to declare constants",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.33-423.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-B-Hooks-EndOfScope-0.26",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-5.38.0"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-B-Hooks-EndOfScope-0.26",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Module-Implementation-0.09"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-B-Hooks-EndOfScope-0.26",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Scalar-List-Utils-1.63"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-B-Hooks-EndOfScope-0.26",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Sub-Exporter-Progressive-0.001013"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-B-Hooks-EndOfScope-0.26",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Variable-Magic-0.64"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-B-Hooks-EndOfScope-0.26",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-constant-1.33"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-B-Hooks-EndOfScope-0.26",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    }
  ]
}
