{
	"SPDXID":"SPDXRef-DOCUMENT",
	"name":"perl-CGI-0.4.66-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-CGI-0.4.66-1.oe2409.aarch64.rpm",
	"packages":[
		{
			"SPDXID":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-73a60915-cdf5-4190-a129-8c7976f44743",
			"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-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"name":"perl-CGI",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"36b49eb76f5c315169d0d530bbf2e876cad94180435715776d793a053902bff1"
				}
			],
			"description":"CGI.pm is a stable, complete and mature solution for processing and preparing\nHTTP requests and responses. Major features including processing form submissions,\nfile uploads, reading and writing cookies, query string generation and manipulation,\nand processing and preparing HTTP headers.\n\nCGI.pm performs very well in in a vanilla CGI.pm environment and also comes with\nbuilt-in support for mod_perl and mod_perl2 as well as FastCGI.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-CGI@4.66-1.oe2409?arch=noarch&epoch=0&upstream=perl-CGI-4.66-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/CGI",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Handle Common Gateway Interface requests and responses",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:4.66-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-56f71278-64aa-483b-b8a8-2f91cf71a65c",
			"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-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-1d897150-3fb1-4c97-b07d-f11d682ef4ae",
			"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-File-Temp-0.2311-02ffb909-c5b3-46ed-a812-57d56710f881-8ace1671-d724-4c33-b0fa-46ec6dafeb90",
			"name":"perl-File-Temp",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"bc12b09af6c50572fabe78649d6c539cc0209d4617c616425c8f9078b91f7582"
				}
			],
			"description":"File::Temp can be used to create and open temporary files in a safe way.\nThere is both a function interface and an object-oriented interface. The\nFile::Temp constructor or the tempfile() function can be used to return the\nname and the open file handle of a temporary file. The tempdir() function\ncan be used to create a temporary directory.\n\nThe security aspect of temporary file creation is emphasized such that a\nfilehandle and filename are returned together.\nThis helps guarantee that a race condition can not occur where the temporary\nfile is created by another process between checking for the existence of the\nfile and its opening. Additional security levels are provided to check,\nfor example, that the sticky bit is set on world writable directories.\nSee \"safe_level\" for more information.\n\nFor compatibility with popular C library functions, Perl implementations of\nthe mkstemp() family of functions are provided. These are, mkstemp(),\nmkstemps(), mkdtemp() and mktemp().\n\nAdditionally, implementations of the standard POSIX tmpnam() and tmpfile()\nfunctions are provided if required.\n\nImplementations of mktemp(), tmpnam(), and tempnam() are provided, but should\nbe used with caution since they return only a filename that was valid when\nfunction was called, so cannot guarantee that the file will not exist by the\ntime the caller opens the filename.\n\nFilehandles returned by these functions support the seekable methods.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-File-Temp@0.2311-3.oe2409?arch=noarch&epoch=1&upstream=perl-File-Temp-0.2311-3.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/File-Temp",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Return name and handle of a temporary file safely",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"1:0.2311-3.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-HTML-Parser-3.82-88b06829-970c-4bf6-ba0a-27764cf747cc-b280f314-3295-4294-8e13-4c7d40f1b024",
			"name":"perl-HTML-Parser",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"86f1e78edf7c4bf989beabefd416ca2fe8613d26bdb3a2452d2d4115e7948379"
				}
			],
			"description":"Objects of the HTML::Parser class will recognize markup and separate it\nfrom plain text (alias data content) in HTML documents. As different kinds\nof markup and text are recognized, the corresponding event handlers are invoked.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-HTML-Parser@3.82-1.oe2409?arch=aarch64&epoch=0&upstream=perl-HTML-Parser-3.82-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/HTML-Parser",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"HTML parser",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:3.82-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-PathTools-3.89-cc522244-5a11-4d7c-aa3d-ae4923e4d525-0822d7ed-1dbf-4158-9273-7a0101c545a9",
			"name":"perl-PathTools",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"87846dab0cb6f2aaf26113fff0ebcf650b1e30c122ad5a19b9c9b5fc41be50ab"
				}
			],
			"description":"Tools for working with directory and file names.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-PathTools@3.89-1.oe2409?arch=aarch64&epoch=0&upstream=perl-PathTools-3.89-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/PathTools",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"PathTools Perl Module (Cwd, File::Spec)",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:3.89-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-Text-ParseWords-3.30-f8b283b1-4450-4d20-a638-3c4f94599937-5653e4f7-b0af-4323-96dc-3e7274233f30",
			"name":"perl-Text-ParseWords",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"1a6fe3b581b3af139f08664f94dc332e9e42852bd77bd27a7eb67bf028010efc"
				}
			],
			"description":"The &nested_quotewords() and &quotewords() functions accept a delimiter (which\ncan be a regular expression) and a list of lines and then breaks those lines up\ninto a list of words ignoring delimiters that appear inside quotes. &quotewords()\nreturns all of the tokens in a single long list, while &nested_quotewords()\nreturns a list of token lists corresponding to the elements of @lines.\n&parse_line() does tokenizing on a single string. The &*quotewords() functions\nsimply call &parse_line(), so if you're only splitting one line you can call\n&parse_line() directly and save a function call.\n\nThe $keep argument is a boolean flag. If true, then the tokens are split on the\nspecified delimiter, but all other characters (including quotes and backslashes)\nare kept in the tokens. If $keep is false then the &*quotewords() functions\nremove all quotes and backslashes that are not themselves backslash-escaped or\ninside of single quotes (i.e., &quotewords() tries to interpret these characters\njust like the Bourne shell). NB: these semantics are significantly different\nfrom the original version of this module shipped with Perl 5.000 through 5.004.\nAs an additional feature, $keep may be the keyword \"delimiters\" which causes the\nfunctions to preserve the delimiters in each string as tokens in the token lists,\nin addition to preserving quote and backslash characters.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-Text-ParseWords@3.30-420.oe2409?arch=noarch&epoch=0&upstream=perl-Text-ParseWords-3.30-420.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/Text-ParseWords",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Parse text into an array of tokens or array of arrays",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:3.30-420.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-URI-5.28-3e3cef09-d6a3-455b-8908-8f6a27d9359a-a21cdfd1-baaa-4ece-8b0d-3fe4151fbf86",
			"name":"perl-URI",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"a1ddfa0f82a8fa9e003dd5cb37a40ac21ed1a68154e2c0a538ea131954d75946"
				}
			],
			"description":"This module implements the URI class. Objects of this class\nrepresent \"Uniform Resource Identifier references\" as specified\nin RFC 2396 (and updated by RFC 2732).",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-URI@5.28-1.oe2409?arch=noarch&epoch=0&upstream=perl-URI-5.28-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/URI",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"The Perl URI module implementation",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"0:5.28-1.oe2409"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-be3c9843-47db-41ec-89ca-40b53be388bf",
			"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"
		},
		{
			"SPDXID":"SPDXRef-rpm-perl-parent-0.241-87b37454-f86e-4897-8733-adcd1b11e6e1-ccb07ec0-0a47-4e33-a7ec-0ba8ac761646",
			"name":"perl-parent",
			"checksums":[
				{
					"algorithm":"SHA256",
					"checksumValue":"9c0306ed8ddcd34b0725b4bf3250e98e774e12ccec2a8d05d7e927efbbc385d9"
				}
			],
			"description":"Allows you to both load one or more modules, while setting up inheritance\nfrom those modules at the same time.",
			"downloadLocation":"NOASSERTION",
			"externalRefs":[
				{
					"referenceCategory":"PACKAGE_MANAGER",
					"referenceLocator":"pkg:rpm/perl-parent@0.241-1.oe2409?arch=noarch&epoch=1&upstream=perl-parent-0.241-1.oe2409.src.rpm",
					"referenceType":"purl"
				}
			],
			"filesAnalyzed":false,
			"homepage":"https://metacpan.org/release/parent",
			"sourceInfo":"acquired package info from repodata DB: repodata/6e742f68b2ae62313d1861c02b7faa39b44c963cbbc6ac979fb577de9af9babc-primary.sqlite.bz2",
			"summary":"Establish an ISA relationship with base classes at compile time",
			"supplier":"Organization: http://openeuler.org",
			"versionInfo":"1:0.241-1.oe2409"
		}
	],
	"relationships":[
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-5.38.0-3373dd29-00bf-4751-bc96-5b01fbd1f07c-73a60915-cdf5-4190-a129-8c7976f44743"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Carp-1.50-26fa9174-9324-4e80-b10e-6a723f948447-56f71278-64aa-483b-b8a8-2f91cf71a65c"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Exporter-5.77-d803843f-f243-40ee-be4f-bc9d7d367726-1d897150-3fb1-4c97-b07d-f11d682ef4ae"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-File-Temp-0.2311-02ffb909-c5b3-46ed-a812-57d56710f881-8ace1671-d724-4c33-b0fa-46ec6dafeb90"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-HTML-Parser-3.82-88b06829-970c-4bf6-ba0a-27764cf747cc-b280f314-3295-4294-8e13-4c7d40f1b024"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-PathTools-3.89-cc522244-5a11-4d7c-aa3d-ae4923e4d525-0822d7ed-1dbf-4158-9273-7a0101c545a9"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-Text-ParseWords-3.30-f8b283b1-4450-4d20-a638-3c4f94599937-5653e4f7-b0af-4323-96dc-3e7274233f30"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-URI-5.28-3e3cef09-d6a3-455b-8908-8f6a27d9359a-a21cdfd1-baaa-4ece-8b0d-3fe4151fbf86"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-libs-5.38.0-7fdc2fc9-5bac-4a1d-a41c-6c102fdcce47-be3c9843-47db-41ec-89ca-40b53be388bf"
		},
		{
			"spdxElementId":"SPDXRef-rpm-perl-CGI-4.66-ec3f4d96-f749-42a5-ae37-6834c97a7866-09af82b7-c2cf-473b-af10-9b3254ad08d9",
			"relationshipType":"DEPENDS_ON",
			"relatedSpdxElement":"SPDXRef-rpm-perl-parent-0.241-87b37454-f86e-4897-8733-adcd1b11e6e1-ccb07ec0-0a47-4e33-a7ec-0ba8ac761646"
		}
	]
}