{
	"SPDXID":"SPDXRef-DOCUMENT",
	"name":"perl-Params-ValidationCompiler-0.0.31-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-Params-ValidationCompiler-0.0.31-1.oe2409.aarch64.rpm",
	"packages":[
		{
			"SPDXID":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-2d3342e1-a43d-4b55-b3a6-f0e8762c74e0",
			"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-a1897577-66c6-40a2-b048-404361435499",
			"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-Eval-Closure-0.14-d6a640c8-889f-49c4-805a-02d0377f0f71-cf9a90bb-9ba9-4c7d-83db-bc3a49853443",
			"name":"perl-Eval-Closure",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"cf3971e053d90d1b96f3e05d05e84f7b9da972f1795e64250edc1f6c3859b7a8"
				}
			],
			"description":"String eval is often used for dynamic code generation. For instance, Moose uses\nit heavily, to generate inlined versions of accessors and constructors, which\nspeeds code up at runtime by a significant amount. String eval is not without\nits issues however - it's difficult to control the scope it's used in (which\ndetermines which variables are in scope inside the eval), and it can be quite\nslow, especially if doing a large number of evals.\n\nThis module attempts to solve both of those problems. It provides an\neval_closure function, which evals a string in a clean environment, other than\na fixed list of specified variables. It also caches the result of the eval, so\nthat doing repeated evals of the same source, even with a different\nenvironment, will be much faster (but note that the description is part of the\nstring to be evaled, so it must also be the same (or non-existent) if caching\nis to work properly).",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Eval-Closure@0.14-1.oe2409?arch=noarch&epoch=0&upstream=perl-Eval-Closure-0.14-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Eval-Closure",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Safely and cleanly create closures via string eval",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.14-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Exception-Class-1.45-378bd423-70d7-4cdc-b7cc-e5f1dee51988-639026c8-46d5-412c-ae43-ae4631e91d3a",
			"name":"perl-Exception-Class",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"cf1da8fe11b97924b8d196d6a90c8479a9db755a508e9ed258c4c80036855e75"
				}
			],
			"description":"Exception::Class allows you to declare exception hierarchies in your\nmodules in a \"Java-esque\" manner.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Exception-Class@1.45-1.oe2409?arch=noarch&epoch=0&upstream=perl-Exception-Class-1.45-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Exception-Class",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Module that allows you to declare real exception classes in Perl",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:1.45-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-9e9ee120-c987-4932-b829-0a571a39d829",
			"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-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"name":"perl-Params-ValidationCompiler",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"b95003eac6a46c8c7bf03281a4e52fa09b73af490b178a10bcb4658a405231a7"
				}
			],
			"description":"Create a customized, optimized, non-lobotomized, uncompromised, and thoroughly\nspecialized parameter checking subroutine.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Params-ValidationCompiler@0.31-1.oe2409?arch=noarch&epoch=0&upstream=perl-Params-ValidationCompiler-0.31-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Params-ValidationCompiler",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Build an optimized subroutine parameter validator once, use it forever",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:0.31-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Scalar-List-Utils-1.63-35328e86-e1a3-44ab-85af-9630af1ab520-c6e8244a-b7fc-46b5-88f6-0c1b61bc7ef0",
			"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-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-4d0aaa63-dcbb-4c11-9ca5-f21db0061021",
			"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-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-2d3342e1-a43d-4b55-b3a6-f0e8762c74e0"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-a1897577-66c6-40a2-b048-404361435499"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Eval-Closure-0.14-d6a640c8-889f-49c4-805a-02d0377f0f71-cf9a90bb-9ba9-4c7d-83db-bc3a49853443"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Exception-Class-1.45-378bd423-70d7-4cdc-b7cc-e5f1dee51988-639026c8-46d5-412c-ae43-ae4631e91d3a"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-9e9ee120-c987-4932-b829-0a571a39d829"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Scalar-List-Utils-1.63-35328e86-e1a3-44ab-85af-9630af1ab520-c6e8244a-b7fc-46b5-88f6-0c1b61bc7ef0"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-Params-ValidationCompiler-0.31-9b0150af-bad6-45ee-907a-daf36cf07b9d-ddd4fc7d-e5cc-427d-8c32-82a718bba4dc",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-4d0aaa63-dcbb-4c11-9ca5-f21db0061021"
		}
	]
}