{
  "SPDXID": "SPDXRef-DOCUMENT",
  "name": "perl-Perl-Critic-0.1.140-1.oe2403sp1.aarch64.rpm",
  "spdxVersion": "SPDX-2.2",
  "creationInfo": {
    "created": "2026-05-15T05:29:37.832615852Z",
    "creators": [
      "openeuler_creator"
    ]
  },
  "dataLicense": "CC0-1.0",
  "documentNamespace": "https://sbom.openEuler.org/perl-Perl-Critic-0.1.140-1.oe2403sp1.aarch64.rpm",
  "packages": [
    {
      "SPDXID": "SPDXRef-rpm-perl-PPI-1.277",
      "name": "perl-PPI",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "39b7400fa47ef7de533458c9a40ca9482d891e4c6757a5b64e7ca24dae0f8e44"
        }
      ],
      "description": "Parse, analyze and manipulate Perl (without perl).",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-PPI@1.277-1.oe2403sp1?arch=noarch&epoch=0&upstream=perl-PPI-1.277-1.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/PPI",
      "sourceInfo": "acquired package info from repodata DB: repodata/3c7e45bbe2235db2809add7d99360bf9702bf2708943858e708998708d86a58f-primary.sqlite.bz2",
      "summary": "Parse, Analyze and Manipulate Perl",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.277-1.oe2403sp1"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-PPIx-QuoteLike-0.023",
      "name": "perl-PPIx-QuoteLike",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "c804ea3c037e312cee2c085d832b3a4c5ca144afbb7a8b3de2a834248092773d"
        }
      ],
      "description": "This Perl class parses Perl string literals and things that are reasonably\nlike string literals. Its real reason for being is to find interpolated\nvariables for Perl::Critic policies and similar code.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-PPIx-QuoteLike@0.023-1.oe2403sp1?arch=noarch&epoch=0&upstream=perl-PPIx-QuoteLike-0.023-1.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/PPIx-QuoteLike",
      "sourceInfo": "acquired package info from repodata DB: repodata/3c7e45bbe2235db2809add7d99360bf9702bf2708943858e708998708d86a58f-primary.sqlite.bz2",
      "summary": "Parse Perl string literals and string-literal-like things",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.023-1.oe2403sp1"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-PPIx-Regexp-0.088",
      "name": "perl-PPIx-Regexp",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "a390b3b75e50d735fcb494c3c7d01abf460a8ae986c5fd37906e991df5e2685e"
        }
      ],
      "description": "The purpose of the PPIx-Regexp package is to parse regular expressions in a\nmanner similar to the way the PPI package parses Perl. This class forms the\nroot of the parse tree, playing a role similar to PPI::Document.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-PPIx-Regexp@0.088-1.oe2403sp1?arch=noarch&epoch=0&upstream=perl-PPIx-Regexp-0.088-1.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/PPIx-Regexp",
      "sourceInfo": "acquired package info from repodata DB: repodata/3c7e45bbe2235db2809add7d99360bf9702bf2708943858e708998708d86a58f-primary.sqlite.bz2",
      "summary": "Represent a regular expression of some sort",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:0.088-1.oe2403sp1"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-PPIx-Utilities-1.001000",
      "name": "perl-PPIx-Utilities",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "6eeebbcf31f730a90fd004d80b75360df2423f0518fbfed38142b2231bc537d2"
        }
      ],
      "description": "This is a collection of functions for dealing with PPI objects, many of\nwhich originated in Perl::Critic. They are organized into modules by the\nkind of PPI class they relate to, by replacing the \"PPI\" at the front of\nthe module name with \"PPIx::Utilities\", e.g. functionality related to\nPPI::Nodes is in PPIx::Utilities::Node.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-PPIx-Utilities@1.001000-1.oe2403sp1?arch=noarch&epoch=0&upstream=perl-PPIx-Utilities-1.001000-1.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/PPIx-Utilities",
      "sourceInfo": "acquired package info from repodata DB: repodata/3c7e45bbe2235db2809add7d99360bf9702bf2708943858e708998708d86a58f-primary.sqlite.bz2",
      "summary": "Extensions to PPI",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.001000-1.oe2403sp1"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "name": "perl-Perl-Critic",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "07ae78c3c9040fe812a6bd30d3bb54d80a19ac9591eab3ac56a78f251134a2bf"
        }
      ],
      "description": "Perl::Critic is an extensible framework for creating and applying coding\nstandards to Perl source code. Essentially, it is a static source code\nanalysis engine. Perl::Critic is distributed with a number of\nPerl::Critic::Policy modules that attempt to enforce various coding\nguidelines. Most Policy modules are based on Damian Conway's book Perl\nBest Practices. However, Perl::Critic is not limited to PBP and will\neven support Policies that contradict Conway. You can enable, disable,\nand customize those Polices through the Perl::Critic interface. You can\nalso create new Policy modules that suit your own tastes.",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Perl-Critic@1.140-1.oe2403sp1?arch=noarch&epoch=0&upstream=perl-Perl-Critic-1.140-1.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Perl-Critic",
      "sourceInfo": "acquired package info from repodata DB: repodata/3c7e45bbe2235db2809add7d99360bf9702bf2708943858e708998708d86a58f-primary.sqlite.bz2",
      "summary": "Critique Perl source code for best-practices",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.140-1.oe2403sp1"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-Pod-Spell-1.26",
      "name": "perl-Pod-Spell",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "8c188e5fb92284beabde302713feac9c43a7a040a2d0c92d7c66dca7a99963a3"
        }
      ],
      "description": "Pod::Spell is a Pod formatter whose output is good for spell-checking.\nPod::Spell rather like Pod::Text, except that it doesn't put much\neffort into actual formatting, and it suppresses things that look like\nPerl symbols or Perl jargon (so that your spell-checking program won't\ncomplain about mystery words like \"$thing\" or \"Foo::Bar\" or \"hashref\").",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-Pod-Spell@1.26-1.oe2403sp1?arch=noarch&epoch=0&upstream=perl-Pod-Spell-1.26-1.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "https://metacpan.org/release/Pod-Spell",
      "sourceInfo": "acquired package info from repodata DB: repodata/3c7e45bbe2235db2809add7d99360bf9702bf2708943858e708998708d86a58f-primary.sqlite.bz2",
      "summary": "A formatter for spell-checking POD",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.26-1.oe2403sp1"
    },
    {
      "SPDXID": "SPDXRef-rpm-perl-String-Format-1.18",
      "name": "perl-String-Format",
      "checksums": [
        {
          "algorithm": "SHA256",
          "checksumValue": "4f6b09f28c9e53720615318ffe9a847657a55db8e515480964d3438f0f751e5d"
        }
      ],
      "description": "String::Format lets you define arbitrary printf-like format sequences to be\nexpanded. This module would be most useful in configuration files and\nreporting tools, where the results of a query need to be formatted in a\nparticular way. It was inspired by mutt's index_format and related\ndirectives (see <URL:http://www.mutt.org/doc/manual/manual-\n6.html#index_format>).",
      "downloadLocation": "NOASSERTION",
      "externalRefs": [
        {
          "referenceCategory": "PACKAGE_MANAGER",
          "referenceLocator": "pkg:rpm/perl-String-Format@1.18-1.oe2403sp1?arch=noarch&epoch=0&upstream=perl-String-Format-1.18-1.oe2403sp1.src.rpm",
          "referenceType": "purl"
        }
      ],
      "filesAnalyzed": false,
      "homepage": "http://search.cpan.org/dist/String-Format/",
      "sourceInfo": "acquired package info from repodata DB: repodata/3c7e45bbe2235db2809add7d99360bf9702bf2708943858e708998708d86a58f-primary.sqlite.bz2",
      "summary": "Sprintf-like string formatting capabilities with arbitrary format definitions",
      "supplier": "Organization: http://openeuler.org",
      "versionInfo": "0:1.18-1.oe2403sp1"
    }
  ],
  "relationships": [
    {
      "spdxElementId": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-PPI-1.277"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-PPIx-QuoteLike-0.023"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-PPIx-Regexp-0.088"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-PPIx-Utilities-1.001000"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Perl-Critic-1.140"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-Pod-Spell-1.26"
    },
    {
      "spdxElementId": "SPDXRef-rpm-perl-Perl-Critic-1.140",
      "relationshipType": "DEPENDS_ON",
      "relatedSpdxElement": "SPDXRef-rpm-perl-String-Format-1.18"
    }
  ]
}
