{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Text-Diff-0.1.45-8.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-Text-Diff-0.1.45-8.oe2403sp4.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-Text-Diff-1.45",
      "name": "perl-Text-Diff",
      "licenseConcluded": "(GPL+ or Artistic) and (GPLv2+ or Artistic) and MIT",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "badb314630909c3b5ccbcb7bd5b3cba1bdd48764f2b5b856534c760e7b68e023"
        }
      ],
      "description": "Text::Diff provides a basic set of services akin to the GNU diff utility.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Text-Diff@1.45-8.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Text-Diff-1.45-8.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Text-Diff",
      "licenseDeclared": "(GPL+ or Artistic) and (GPLv2+ or Artistic) and MIT",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Perform diffs on files and record sets",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.45-8.oe2403sp4"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Algorithm-Diff-1.201",
      "name": "perl-Algorithm-Diff",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "0c487a7ed26e04463698049e98f05c1ffa39646d03150db1e21c7a08b8b10e63"
        }
      ],
      "description": "This is a module for computing the difference between two files, two strings,\nor any other two lists of things. It uses an intelligent algorithm similar to\n(or identical to) the one used by the Unix \"diff\" program. It is guaranteed to\nfind the *smallest possible* set of differences.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Algorithm-Diff@1.201-3.oe2403sp4?arch=noarch&epoch=1&upstream=perl-Algorithm-Diff-1.201-3.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/pod/Algorithm::Diff",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Compute `intelligent' differences between two files / lists",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "1:1.201-3.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-Exporter-5.77",
      "name": "perl-Exporter",
      "licenseConcluded": "GPL+ or Artistic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "5de856a2dec6d608c1387e6f8be3f600bf2011cc60a536c7ad830fd7e4de7e4d"
        }
      ],
      "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.oe2403sp4?arch=noarch&epoch=0&upstream=perl-Exporter-5.77-2.oe2403sp4.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Exporter",
      "licenseDeclared": "GPL+ or Artistic",
      "sourceInfo": "acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2",
      "summary": "Implements default import method for modules",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:5.77-2.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-Text-Diff-1.45",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Algorithm-Diff-1.201"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Text-Diff-1.45",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Carp-1.50"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Text-Diff-1.45",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Exporter-5.77"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Text-Diff-1.45",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Text-Diff-1.45"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Text-Diff-1.45",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-constant-1.33"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Text-Diff-1.45",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-libs-5.38.0"
    }
  ]
}
