{
	"SPDXID":"SPDXRef-DOCUMENT",
	"name":"perl-Moo-0.2.005005-1.oe2409.aarch64.rpm",
	"spdxVersion":"SPDX-2.2",
	"creationInfo":{
		"created":"2024-09-30T03:30:07.5589037Z",
		"creators":"[openeuler_creator]"
	},
	"dataLicense":"CC0-1.0",
	"documentNamespace":"https://repo.openeuler.org/security/data/sbom/perl-Moo-0.2.005005-1.oe2409.aarch64.rpm",
	"packages":[
		{
			"SPDXID":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-dc6d93cd-e6c2-4174-b5ae-302f3e043822",
			"name":"perl",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"1cc1d4df3e2feb90c5250bb3619d63d60b9ec82bb75e180bdeecccce97e37e91"
				}
			],
			"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-8.oe2409?arch=aarch64&epoch=4&upstream=perl-5.38.0-8.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://www.perl.org/",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"A highly capable, feature-rich programming language",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"4:5.38.0-8.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-630a6dd1-e10d-4181-800d-2c175fca6d75",
			"name":"perl-Carp",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"69af162dfeeb16b0cebb19c6d06eb6e9aa135770713b8e734f306846b16d2fdd"
				}
			],
			"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.oe2409?arch=noarch&epoch=0&upstream=perl-Carp-1.50-420.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Carp",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Alternative warn and die for modules",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.50-420.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Class-Method-Modifiers-2.15-c91bbbdd-eb7b-4ab6-988c-a8ea6ea6ebe7-a74fc3d0-1705-43b1-93a0-40b81be47886",
			"name":"perl-Class-Method-Modifiers",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"27e83359698c45a16fa1661a146c66491a41013fe30a59d8de63299abb62c9ef"
				}
			],
			"description":"Method modifiers are a powerful feature from the CLOS (Common Lisp Object\nSystem) world.\n\n'Class::Method::Modifiers' provides three modifiers: 'before', 'around',\nand 'after'. 'before' and 'after' are run just before and after the method\nthey modify, but can not really affect that original method. 'around' is\nrun in place of the original method, with a hook to easily call that\noriginal method. See the 'MODIFIERS' section for more details on how the\nparticular modifiers work.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Class-Method-Modifiers@2.15-1.oe2409?arch=noarch&epoch=0&upstream=perl-Class-Method-Modifiers-2.15-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Class-Method-Modifiers",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Provides Moose-like method modifiers",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:2.15-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Devel-GlobalDestruction-0.14-dd7d5248-e065-4557-83ea-fffa11daa7b4-c668d350-545f-48ef-8766-b0eba17b0d40",
			"name":"perl-Devel-GlobalDestruction",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"b0f4921078327b914643c57e36354eddffcad6e9fa15167db532f0eb54ef6cb0"
				}
			],
			"description":"Perl's global destruction is a little tricky to deal with with respect to\nfinalizers because it's not ordered and objects can sometimes disappear.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Devel-GlobalDestruction@0.14-8.oe2409?arch=noarch&epoch=0&upstream=perl-Devel-GlobalDestruction-0.14-8.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Devel-GlobalDestruction",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Expose PL_dirty, the flag that marks global destruction",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.14-8.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-5a7d21dd-5172-4897-be63-51b8fe358ec6",
			"name":"perl-Exporter",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"ba7dc3337d0b20c37931089d741716b05e8f6dfbabfed0d85c5f2be371a8a6d5"
				}
			],
			"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-1.oe2409?arch=noarch&epoch=0&upstream=perl-Exporter-5.77-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Exporter",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Implements default import method for modules",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:5.77-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Import-Into-1.002005-607a7341-841e-421f-881e-46ebc70d1285-93707777-af9f-4b92-bd5f-45251453322f",
			"name":"perl-Import-Into",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"229c909b8e68f88ca721c0c039d939a36f71aa43a9bf589f5dc34595fd5863ec"
				}
			],
			"description":"Writing exporters is a pain. Some use Exporter, some use Sub::Exporter,\nsome use Moose::Exporter, some use Exporter::Declare ... and some things are pragmas.\n\nExporting on someone else's behalf is harder. The exporters don't provide\na consistent API for this, and pragmas need to have their import method\ncalled directly, since they effect the current unit of compilation.\n\nImport::Into provides global methods to make this painless.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Import-Into@1.002005-2.oe2409?arch=noarch&epoch=0&upstream=perl-Import-Into-1.002005-2.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Import-Into",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Import packages into other packages",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.002005-2.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Module-Runtime-0.016-3dee0eeb-9a5d-4db0-a478-60748b62f77a-b8f7bc14-632f-4932-aa53-6feb64b545f1",
			"name":"perl-Module-Runtime",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"cf4bf6edfa4dbbf3a407f9ed0f27ca140fef25dc9d79583a8c3290a17541767f"
				}
			],
			"description":"The functions exported by this module deal with runtime handling\nof Perl modules, which are normally handled at compile time. This\nmodule avoids using any other modules, so that it can be used in\nlow-level infrastructure",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Module-Runtime@0.016-5.oe2409?arch=noarch&epoch=0&upstream=perl-Module-Runtime-0.016-5.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Module-Runtime",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Runtime module handling",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.016-5.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Role-Tiny-2.002004-05a46c2d-d788-452d-b184-a950eb302e11-97619b2e-6ff7-4ba8-87e1-a0c0603a1bfc",
			"name":"perl-Role-Tiny",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"075e8c4abc8fcf59155fdc4140002523f3b0207e9b614c5deba57b2a42d81c8f"
				}
			],
			"description":"Role::Tiny is a minimalist role composition tool.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Role-Tiny@2.002004-1.oe2409?arch=noarch&epoch=0&upstream=perl-Role-Tiny-2.002004-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Role-Tiny",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"A nouvelle cuisine portion size slice of Moose",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:2.002004-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Scalar-List-Utils-1.63-35328e86-e1a3-44ab-85af-9630af1ab520-6417bfe3-7625-48b1-9c0c-7c1b2e3db5b2",
			"name":"perl-Scalar-List-Utils",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"e6889f9a1c02653e1b73520b6e988bb70837368cf48d18cf16554dd0b94eb95e"
				}
			],
			"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.oe2409?arch=aarch64&epoch=4&upstream=perl-Scalar-List-Utils-1.63-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Scalar-List-Utils",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Common Scalar and List utility subroutines",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"4:1.63-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Sub-Quote-2.005001-b9b61db8-46f5-423b-9174-7c57d115f158-0ce14152-c290-4a67-83f6-fcda26ec86fd",
			"name":"perl-Sub-Quote",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"fc72227457918a7081490fe6803f2bce52618dba907bb11077069a973adba4a1"
				}
			],
			"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.oe2409?arch=noarch&epoch=0&upstream=perl-Sub-Quote-2.005001-4.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Sub-Quote",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Efficient generation of subroutines via string eval",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:2.005001-4.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-edfa3f44-5e77-4702-b690-be4c6512836a",
			"name":"perl-libs",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"767b285aad322c1f004fa698cf646f37bf052c9caaafecbbdf567655466b12f2"
				}
			],
			"description":"This package is the shared library for perl.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-libs@5.38.0-8.oe2409?arch=aarch64&epoch=4&upstream=perl-5.38.0-8.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://www.perl.org/",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"The libraries for the perl",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"4:5.38.0-8.oe2409"
		}
	],
	"relationships":[
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-dc6d93cd-e6c2-4174-b5ae-302f3e043822"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-630a6dd1-e10d-4181-800d-2c175fca6d75"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Class-Method-Modifiers-2.15-c91bbbdd-eb7b-4ab6-988c-a8ea6ea6ebe7-a74fc3d0-1705-43b1-93a0-40b81be47886"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Devel-GlobalDestruction-0.14-dd7d5248-e065-4557-83ea-fffa11daa7b4-c668d350-545f-48ef-8766-b0eba17b0d40"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-5a7d21dd-5172-4897-be63-51b8fe358ec6"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Import-Into-1.002005-607a7341-841e-421f-881e-46ebc70d1285-93707777-af9f-4b92-bd5f-45251453322f"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Module-Runtime-0.016-3dee0eeb-9a5d-4db0-a478-60748b62f77a-b8f7bc14-632f-4932-aa53-6feb64b545f1"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Role-Tiny-2.002004-05a46c2d-d788-452d-b184-a950eb302e11-97619b2e-6ff7-4ba8-87e1-a0c0603a1bfc"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Scalar-List-Utils-1.63-35328e86-e1a3-44ab-85af-9630af1ab520-6417bfe3-7625-48b1-9c0c-7c1b2e3db5b2"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Sub-Quote-2.005001-b9b61db8-46f5-423b-9174-7c57d115f158-0ce14152-c290-4a67-83f6-fcda26ec86fd"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Moo-2.005005-cd9b1649-9ca6-43e0-8bbb-82b4413cb530",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-edfa3f44-5e77-4702-b690-be4c6512836a"
		}
	]
}