{"kind": "language", "major": "18", "item": {"slug": "plperl", "name": "plperl", "name_zh": "", "category": "PL/Perl", "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "aliases": [], "content_hash": "eed276938ffc1550e9df83e595ed3fd297aef9e56fbeca428adc150907332270", "versions": {"10": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/10/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/10/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/10/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/10/plperl-funcs.html", "label": "plperl-funcs"}, {"url": "/docs/10/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/10/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/10/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/10/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "catalog_fingerprint": "691be281b476dde4374d7f805b2bacc2e75bdef40f1e9d3d42e91f97fe95cfd0"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, {"url": "/docs/10/plperl.html", "path": "plperl.html", "label": "PostgreSQL 10 English manual", "sha256": "0dc1861c3937d43ab270c0f8a1ed4ca9f31b718ef8c5857a3203c351e149e04b"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/10/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "8106d8c67068d55503c5e93add3742a6f86366a9e636b254d54b0d8861deef0a", "fragment_sha256": "7cbf15c9c4bc8742487d3a10d23379f1d019f9eab71a185c65a2b1d21779854f", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "d47f5833031efa55cb8de3d1a7526eee316db265f0f6aa1974eb865420b6c2ed", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plperl;\n\nCOMMENT ON PROCEDURAL LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "10", "text_hash": "437cfa73165cc489d6978bd8d9cafb292b703260647e7743608c93a84b430782", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/10/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "8106d8c67068d55503c5e93add3742a6f86366a9e636b254d54b0d8861deef0a", "fragment_sha256": "7cbf15c9c4bc8742487d3a10d23379f1d019f9eab71a185c65a2b1d21779854f", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "d47f5833031efa55cb8de3d1a7526eee316db265f0f6aa1974eb865420b6c2ed", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plperl;\n\nCOMMENT ON PROCEDURAL LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u53ef\u4ee5\u7528 <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199 <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u3002</p><p>\u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u597d\u5904\uff0c\u662f\u53ef\u4ee5\u5728\u5b58\u50a8\u51fd\u6570\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u591a\u79cd<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e\u4f7f\u7528 PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002</p><p>   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/10/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "10", "link_map": {"/zh/docs/10/plperl.html": "/docs/10/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u53ef\u4ee5\u7528 <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u3002</p><p>\u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u597d\u5904\uff0c\u662f\u53ef\u4ee5\u5728\u5b58\u50a8\u51fd\u6570\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u591a\u79cd<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e\u4f7f\u7528 PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002</p><p>   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/10/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "d5e68d8fa64d3968fe777f7d9923ef6a6cea3cdcd279950b4dc6e01e3664bd86", "content_hash": "437cfa73165cc489d6978bd8d9cafb292b703260647e7743608c93a84b430782", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/10/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plperl;\n\nCOMMENT ON PROCEDURAL LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/10/plperl-builtins.html", "method": "same-major semantic node", "sha256": "4bfa08026ff8ed7aa5b70e0c996e5ceedb73676097f55067cb89031312e0642d", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plperl-data.html", "method": "same-major semantic node", "sha256": "e802b03360cfb191793775376ae96516752afd4c8a58796ed5581a580cbc4ca1", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "342dd16101189beb9abc69bb02b6eef209fe204c44d8cd9981d63543cf550bb7", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plperl-global.html", "method": "same-major semantic node", "sha256": "1575f7d78ea11e479b9e7a328e459884e06c0a344c81cfc3bcd3c0ed5812a808", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plperl-triggers.html", "method": "same-major semantic node", "sha256": "d9ebc25a8479818045029460a9812aa8eb55c3e57599bd5544af3098b57e2bcf", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plperl-trusted.html", "method": "same-major semantic node", "sha256": "caa7f6e68c9daafc9515ca75122db4eb7bdadf8676c6b4ae59416c3d477c0b66", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "eed0a6eb7fcf96b483c7a9fe3687eb4fa9655d6e0e567ce261f73351b4edc9cf", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plperl.html", "method": "same-major semantic node", "sha256": "06e7bdafb3525134bb751ae1d6eb62c31473e5b094f0aa9bc9e3f4500d625560", "language": "zh", "matched_nodes": ["#PLPERL/h3[0]", "#PLPERL/h3[1]", "#PLPERL/p[1]", "#PLPERL/p[2]", "#PLPERL/p[3]", "#PLPERL/p[4]", "#PLPERL/p[5]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "PL/Perl procedural language", "/versions/10/facts/0/label": "Kind", "/versions/10/facts/0/value": "Bundled procedural-language variant", "/versions/10/facts/1/label": "Family", "/versions/10/facts/2/label": "Trusted", "/versions/10/facts/3/label": "Handler", "/versions/10/facts/4/label": "Inline handler", "/versions/10/facts/5/label": "Validator", "/versions/10/facts/6/label": "Library", "/versions/10/facts/7/label": "Default version", "/versions/10/facts/8/label": "Module pathname", "/versions/10/facts/9/label": "Comment", "/versions/10/facts/9/value": "PL/Perl procedural language", "/versions/10/related/0/label": "plperl-builtins", "/versions/10/related/1/label": "plperl-data", "/versions/10/related/2/label": "plperl-event-triggers", "/versions/10/related/4/label": "plperl-global", "/versions/10/related/5/label": "plperl-triggers", "/versions/10/related/6/label": "plperl-trusted", "/versions/10/related/7/label": "plperl-under-the-hood", "/versions/10/sections/0/title": "Installation definition from the matching source archive", "/versions/10/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "48e92f6bd3dfdc9f1798d3d4ed6220dcd2c8f9715abe66121d43eda33efd7c18", "canonical_center_text_hash": "437cfa73165cc489d6978bd8d9cafb292b703260647e7743608c93a84b430782"}, "source_files": {"src/pl/plperl/plperl.control": "250d2b026d57a797dfd3e20e866ae0de6d4f1b8f5488e1fe59e869e07fb18728", "src/pl/plperl/plperl--1.0.sql": "fa51bc8383901a213b24d08231cc89d1ab33f742c9a86cee82f4a529a1997287"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u53ef\u4ee5\u7528 <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u3002</p><p>\u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u597d\u5904\uff0c\u662f\u53ef\u4ee5\u5728\u5b58\u50a8\u51fd\u6570\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u591a\u79cd<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e\u4f7f\u7528 PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002</p><p>   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/10/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/11/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/11/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/11/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/11/plperl-funcs.html", "label": "plperl-funcs"}, {"url": "/docs/11/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/11/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/11/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/11/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "catalog_fingerprint": "8f21f4444b7f68923f4762af0eb7937fa2907026e91249483e79050de012c901"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, {"url": "/docs/11/plperl.html", "path": "plperl.html", "label": "PostgreSQL 11 English manual", "sha256": "ae66a071ede516182a6aeaa4bacb14b62f82c1ee80bf2aa50a7a9054fa809655"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/11/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "0f2189693732a1af8e6d57fb72199629da7616bb1f439be3ecafd5e43123c8dc", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "ce18872764fee54884b3507834e5280539d628dd445a8fee45b9465b47225d67", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plperl;\n\nCOMMENT ON PROCEDURAL LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "11", "text_hash": "a6229bb0c51157d872f95286ea841b8e4eaea319a7232a9569aaaa5edd7864e5", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/11/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "0f2189693732a1af8e6d57fb72199629da7616bb1f439be3ecafd5e43123c8dc", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "ce18872764fee54884b3507834e5280539d628dd445a8fee45b9465b47225d67", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plperl;\n\nCOMMENT ON PROCEDURAL LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/11/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "11", "link_map": {"/zh/docs/11/plperl.html": "/docs/11/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/11/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "0c97017c0d63122630134f55ef03e012ca7926fa89ab713beb8578e8bf7e121e", "content_hash": "a6229bb0c51157d872f95286ea841b8e4eaea319a7232a9569aaaa5edd7864e5", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/11/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plperl;\n\nCOMMENT ON PROCEDURAL LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/11/plperl-builtins.html", "method": "same-major semantic node", "sha256": "18f3a9538a3ef13292940f0b537d07c2b58b29d00c74168ec56e15b0d977ceac", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plperl-data.html", "method": "same-major semantic node", "sha256": "67f45a1de739e45a33f5cb4aee7539c14929314666ad4bf912df5697b3b17505", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "02a3d656b72a120d485b5b67ef74eef15b51efc7d157bfeb7c799b59faf06aa5", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plperl-global.html", "method": "same-major semantic node", "sha256": "9feaf1062b206d47f4920d8842d5517604c3d88242f9c2a0c6379d134573b9b3", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plperl-triggers.html", "method": "same-major semantic node", "sha256": "01706622ce8c0c241464d9c1e48b052bd427769dc3a71eff0110d2f37eb02ddc", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plperl-trusted.html", "method": "same-major semantic node", "sha256": "f2ddabd7178c1a52665c86e10374c79238bf41fbe437495132dd48c4a4d72351", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "be3e858b83b1f76b8b537c82a0a5e46105e839754424e4659796ef2249333296", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plperl.html", "method": "same-major semantic node", "sha256": "3365cedd1879be375e43532dde2e1f2fe905622649630b478ee784248f498af1", "language": "zh", "matched_nodes": ["#PLPERL/h3[0]", "#PLPERL/h3[1]", "#PLPERL/p[1]", "#PLPERL/p[2]", "#PLPERL/p[3]", "#PLPERL/p[4]", "#PLPERL/p[5]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "PL/Perl procedural language", "/versions/11/facts/0/label": "Kind", "/versions/11/facts/0/value": "Bundled procedural-language variant", "/versions/11/facts/1/label": "Family", "/versions/11/facts/2/label": "Trusted", "/versions/11/facts/3/label": "Handler", "/versions/11/facts/4/label": "Inline handler", "/versions/11/facts/5/label": "Validator", "/versions/11/facts/6/label": "Library", "/versions/11/facts/7/label": "Default version", "/versions/11/facts/8/label": "Module pathname", "/versions/11/facts/9/label": "Comment", "/versions/11/facts/9/value": "PL/Perl procedural language", "/versions/11/related/0/label": "plperl-builtins", "/versions/11/related/1/label": "plperl-data", "/versions/11/related/2/label": "plperl-event-triggers", "/versions/11/related/4/label": "plperl-global", "/versions/11/related/5/label": "plperl-triggers", "/versions/11/related/6/label": "plperl-trusted", "/versions/11/related/7/label": "plperl-under-the-hood", "/versions/11/sections/0/title": "Installation definition from the matching source archive", "/versions/11/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "334c2939285dd617de8742f83f04187730c662ca4acaa2a9881d4936a80f0092", "canonical_center_text_hash": "a6229bb0c51157d872f95286ea841b8e4eaea319a7232a9569aaaa5edd7864e5"}, "source_files": {"src/pl/plperl/plperl.control": "250d2b026d57a797dfd3e20e866ae0de6d4f1b8f5488e1fe59e869e07fb18728", "src/pl/plperl/plperl--1.0.sql": "fa51bc8383901a213b24d08231cc89d1ab33f742c9a86cee82f4a529a1997287"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/11/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/12/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/12/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/12/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/12/plperl-funcs.html", "label": "plperl-funcs"}, {"url": "/docs/12/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/12/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/12/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/12/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "catalog_fingerprint": "9f857f4ee4875f9c7de6bfc9df4b757dec8b3a0bb88eadb519c7bd267bd56149"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, {"url": "/docs/12/plperl.html", "path": "plperl.html", "label": "PostgreSQL 12 English manual", "sha256": "e05699e450ae3d91eb6ad6afc0024c5ef923397f60922a99d28410f902b67c81"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/12/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "9889779b1e88909587575809a18fe968f1ed495bc7262c658945a16f609eec6c", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "ae08c245e684323824dcc07e9bc3ed67bbf79b5b08b5dd0350de63b190c21f1a", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE LANGUAGE plperl;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "12", "text_hash": "6598dc2458d37019ae3fd1db50d49aa0a3432f969a33666eb9a44193f9e63dbd", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/12/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "9889779b1e88909587575809a18fe968f1ed495bc7262c658945a16f609eec6c", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "ae08c245e684323824dcc07e9bc3ed67bbf79b5b08b5dd0350de63b190c21f1a", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE LANGUAGE plperl;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/12/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "12", "link_map": {"/zh/docs/12/plperl.html": "/docs/12/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/12/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "6bbe355b13bf09ac8b9f2fc4acc2eb0514124a70a31e1c88cfba2081951fcaf5", "content_hash": "6598dc2458d37019ae3fd1db50d49aa0a3432f969a33666eb9a44193f9e63dbd", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/12/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE LANGUAGE plperl;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/12/plperl-builtins.html", "method": "same-major semantic node", "sha256": "38ac356e855355898634e835df5e50da7cc6e2afdf1e07711682b29381fb2584", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plperl-data.html", "method": "same-major semantic node", "sha256": "d7f032e6514ac071d02e207c40397e470d59954dea5dfaed7f0034da36593801", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "ca83a5b16e3238661782c9dfec7af1a242abe84461388f78de2c632383575947", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plperl-global.html", "method": "same-major semantic node", "sha256": "1799667910b49cb294ae8e3593d31f8eda0d3e4d03e6cc9a955c26ad5bded399", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plperl-triggers.html", "method": "same-major semantic node", "sha256": "6e7812d7ae7d2cae47964c8c54900dc23b8c56ea07655a6b46f6ec99a7985d8f", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plperl-trusted.html", "method": "same-major semantic node", "sha256": "b84f7c63dd48324479fe8166a3a8509401e099d7c27ef207a90d6b2ba5564953", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "31629554267c0d8cd9a8ca5469ab3062bf2d88df0e9dbb6e9418528ff392fcb7", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plperl.html", "method": "same-major semantic node", "sha256": "488037fad9d644e84be0b97c3c899d7a8746bc00eb9a565b5c8426c29e9582e7", "language": "zh", "matched_nodes": ["#PLPERL/h3[0]", "#PLPERL/h3[1]", "#PLPERL/p[1]", "#PLPERL/p[2]", "#PLPERL/p[3]", "#PLPERL/p[4]", "#PLPERL/p[5]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "PL/Perl procedural language", "/versions/12/facts/0/label": "Kind", "/versions/12/facts/0/value": "Bundled procedural-language variant", "/versions/12/facts/1/label": "Family", "/versions/12/facts/2/label": "Trusted", "/versions/12/facts/3/label": "Handler", "/versions/12/facts/4/label": "Inline handler", "/versions/12/facts/5/label": "Validator", "/versions/12/facts/6/label": "Library", "/versions/12/facts/7/label": "Default version", "/versions/12/facts/8/label": "Module pathname", "/versions/12/facts/9/label": "Comment", "/versions/12/facts/9/value": "PL/Perl procedural language", "/versions/12/related/0/label": "plperl-builtins", "/versions/12/related/1/label": "plperl-data", "/versions/12/related/2/label": "plperl-event-triggers", "/versions/12/related/4/label": "plperl-global", "/versions/12/related/5/label": "plperl-triggers", "/versions/12/related/6/label": "plperl-trusted", "/versions/12/related/7/label": "plperl-under-the-hood", "/versions/12/sections/0/title": "Installation definition from the matching source archive", "/versions/12/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "6a40e7bdf37374c0555cd0667568a6c9729f2fbc62647c4eeea0189e817c63bc", "canonical_center_text_hash": "6598dc2458d37019ae3fd1db50d49aa0a3432f969a33666eb9a44193f9e63dbd"}, "source_files": {"src/pl/plperl/plperl.control": "250d2b026d57a797dfd3e20e866ae0de6d4f1b8f5488e1fe59e869e07fb18728", "src/pl/plperl/plperl--1.0.sql": "31337bfcf8be9cd8ca68720ea57dcc534126d94bbc31ed64961e9f05df485992"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/12/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/13/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/13/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/13/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/13/plperl-funcs.html", "label": "plperl-funcs"}, {"url": "/docs/13/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/13/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/13/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/13/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "catalog_fingerprint": "c7015c845255c9d721c547c8ab9ef37825d332588c9691d982e6906b7d571002"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, {"url": "/docs/13/plperl.html", "path": "plperl.html", "label": "PostgreSQL 13 English manual", "sha256": "b338fb156771be52355c3af59a1b5cefa7d7a99d962ea5c867b85dac11248391"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/13/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "6cd29bcd2a32293a194c6cc60f6e27d0ac1847bc1f702cad4904546460cc90ce", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "3026f4edb4eb940ac98d9b50dd8e58f245c53396f540ea2afd750ddb87bcbbc1", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "13", "text_hash": "b991f1b04af2af59c40017b0c5f0e1674edfdece5c04d69357f3cd3da5582c9b", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/13/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "6cd29bcd2a32293a194c6cc60f6e27d0ac1847bc1f702cad4904546460cc90ce", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "3026f4edb4eb940ac98d9b50dd8e58f245c53396f540ea2afd750ddb87bcbbc1", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/13/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "13", "link_map": {"/zh/docs/13/plperl.html": "/docs/13/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/13/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "d469cc888e950656dfeed338c263c8778a43416fdab905c16ac2190de565865f", "content_hash": "b991f1b04af2af59c40017b0c5f0e1674edfdece5c04d69357f3cd3da5582c9b", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/13/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/13/plperl-builtins.html", "method": "same-major semantic node", "sha256": "f75a5c35b436ba01a661b9fb2e7117815ef6692e0e3a0db0328fcf9b7bb173ae", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plperl-data.html", "method": "same-major semantic node", "sha256": "031436a063d9c53615d8d5ecd202c12f83f2b5ea7db6ae8b57eaed629562cac4", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "fb19c544642858f2ead6a610c780c1661182cc7b8ba1df4e2c37b4f0fd4f930b", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plperl-global.html", "method": "same-major semantic node", "sha256": "5fae2abe4ab3bca00fbcf3c90a278a11ed7475d7a5b8d26967be4de0b1ec816f", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plperl-triggers.html", "method": "same-major semantic node", "sha256": "693b8754a454407bf4333555127111531586b26a343ffbd275859550699b278e", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plperl-trusted.html", "method": "same-major semantic node", "sha256": "d0a4b84b14cb0027fba35f57f9f30973aa76d7077b8ef687b3263c82ddf983f2", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "de645c2b87a6cb5aca6a9fe2deed3eaab7a4f2f2cfa6e82161b1e916133a05e7", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plperl.html", "method": "same-major semantic node", "sha256": "d0bfbb296bfb3f8575aa15740612b976edcf8354120718b4f242d949af5ccb00", "language": "zh", "matched_nodes": ["#PLPERL/h3[0]", "#PLPERL/h3[1]", "#PLPERL/p[1]", "#PLPERL/p[2]", "#PLPERL/p[3]", "#PLPERL/p[4]", "#PLPERL/p[5]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "PL/Perl procedural language", "/versions/13/facts/0/label": "Kind", "/versions/13/facts/0/value": "Bundled procedural-language variant", "/versions/13/facts/1/label": "Family", "/versions/13/facts/2/label": "Trusted", "/versions/13/facts/3/label": "Handler", "/versions/13/facts/4/label": "Inline handler", "/versions/13/facts/5/label": "Validator", "/versions/13/facts/6/label": "Library", "/versions/13/facts/7/label": "Default version", "/versions/13/facts/8/label": "Module pathname", "/versions/13/facts/9/label": "Comment", "/versions/13/facts/9/value": "PL/Perl procedural language", "/versions/13/related/0/label": "plperl-builtins", "/versions/13/related/1/label": "plperl-data", "/versions/13/related/2/label": "plperl-event-triggers", "/versions/13/related/4/label": "plperl-global", "/versions/13/related/5/label": "plperl-triggers", "/versions/13/related/6/label": "plperl-trusted", "/versions/13/related/7/label": "plperl-under-the-hood", "/versions/13/sections/0/title": "Installation definition from the matching source archive", "/versions/13/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "7ecbb40a64e364424b93bbacae837269e5b2a5bb7a03548007de515acb574be2", "canonical_center_text_hash": "b991f1b04af2af59c40017b0c5f0e1674edfdece5c04d69357f3cd3da5582c9b"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/13/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/14/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/14/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/14/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/14/plperl-funcs.html", "label": "plperl-funcs"}, {"url": "/docs/14/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/14/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/14/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/14/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "catalog_fingerprint": "b272e6a82e4c46efda81c3a6a4cdf7de6a83dfff7f02f226a392fbe9acdd3adb"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, {"url": "/docs/14/plperl.html", "path": "plperl.html", "label": "PostgreSQL 14 English manual", "sha256": "979db062b9446c62c482ca97407cf30588c64918d16004ba41763b7f5dc81bd5"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/14/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "29be47527105037d779f9418ddc23dcde2f5ae388f53803480ea2d9db49ffcf8", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "33b8eccb09475554e7a1a7d8a182f21bef32041cde27019c7fe8315259d58423", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "14", "text_hash": "75fa88bef8580ab1a7778023bbbf515f62929482acdbed29f1d777be6123628a", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/14/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "29be47527105037d779f9418ddc23dcde2f5ae388f53803480ea2d9db49ffcf8", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "33b8eccb09475554e7a1a7d8a182f21bef32041cde27019c7fe8315259d58423", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/14/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "14", "link_map": {"/zh/docs/14/plperl.html": "/docs/14/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/14/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "64f8d297acdf3a65d4e55692499ac814735e7031ad155bfbd6bf9010341af9f1", "content_hash": "75fa88bef8580ab1a7778023bbbf515f62929482acdbed29f1d777be6123628a", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/14/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/14/plperl-builtins.html", "method": "same-major semantic node", "sha256": "c6bcdc7e2eeefcc83d9f3d7aabc451bfc271e618bb6497119e184618ac1086e0", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plperl-data.html", "method": "same-major semantic node", "sha256": "c2f4237b89a0280469970b33cfcdb6950827800067ff9e9e748a979151c95085", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "53e2c828acfa8432c3005ce13dde63e50e322a9d72972486383af8946f9ba0f3", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plperl-global.html", "method": "same-major semantic node", "sha256": "56c677dfc74dcdbf7fe53755e90ce7bf2d8d2f6c64fd114a4792ef713050b1cd", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plperl-triggers.html", "method": "same-major semantic node", "sha256": "ab69fd067f1665c30b2798c832f1a3030d259db7929a78a1114fb7d615d559bc", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plperl-trusted.html", "method": "same-major semantic node", "sha256": "8bdf86d1f2789edf87aff79d2572f298176e61bcb8d5adf6d4e23708757a7fd0", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "39751b31ea8716f36006b1a4c43c9573d8b5d862122e3b9184e6df3890c83e55", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plperl.html", "method": "same-major semantic node", "sha256": "98c7c6bc952b9fa2eb7eeb6559810b92f39be2a2fd2abf99a13bb2a96d1ed955", "language": "zh", "matched_nodes": ["#PLPERL/h3[0]", "#PLPERL/h3[1]", "#PLPERL/p[1]", "#PLPERL/p[2]", "#PLPERL/p[3]", "#PLPERL/p[4]", "#PLPERL/p[5]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "PL/Perl procedural language", "/versions/14/facts/0/label": "Kind", "/versions/14/facts/0/value": "Bundled procedural-language variant", "/versions/14/facts/1/label": "Family", "/versions/14/facts/2/label": "Trusted", "/versions/14/facts/3/label": "Handler", "/versions/14/facts/4/label": "Inline handler", "/versions/14/facts/5/label": "Validator", "/versions/14/facts/6/label": "Library", "/versions/14/facts/7/label": "Default version", "/versions/14/facts/8/label": "Module pathname", "/versions/14/facts/9/label": "Comment", "/versions/14/facts/9/value": "PL/Perl procedural language", "/versions/14/related/0/label": "plperl-builtins", "/versions/14/related/1/label": "plperl-data", "/versions/14/related/2/label": "plperl-event-triggers", "/versions/14/related/4/label": "plperl-global", "/versions/14/related/5/label": "plperl-triggers", "/versions/14/related/6/label": "plperl-trusted", "/versions/14/related/7/label": "plperl-under-the-hood", "/versions/14/sections/0/title": "Installation definition from the matching source archive", "/versions/14/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "4c89349545f68bac782dea55529b7718aa1bab5dc26321dcce0563e7e6d8c889", "canonical_center_text_hash": "75fa88bef8580ab1a7778023bbbf515f62929482acdbed29f1d777be6123628a"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/14/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "15": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/15/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/15/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/15/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/15/plperl-funcs.html", "label": "plperl-funcs"}, {"url": "/docs/15/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/15/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/15/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/15/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "catalog_fingerprint": "fefe3c425147a86defada190c9b0663cfe02caa1724f5dede93e46457572252d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, {"url": "/docs/15/plperl.html", "path": "plperl.html", "label": "PostgreSQL 15 English manual", "sha256": "02f8f31ad3c267a457db0f845072a1f03eabdd1efdeaf48fc3e163445fea3227"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/15/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "85caae77a156af2b5bc58749b6e9e81b5b59ac1de4da430aa8c52d435677de50", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "94e55b4ee9ff7123d2aef0768c9558e006175c403211b58a62e1ded27b6f856c", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "15", "text_hash": "7da91c1b11d15a0762ca2a8c3e462464421014b7f6ce8ca6d4e1a8ebe1e9fb5c", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/15/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "85caae77a156af2b5bc58749b6e9e81b5b59ac1de4da430aa8c52d435677de50", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "94e55b4ee9ff7123d2aef0768c9558e006175c403211b58a62e1ded27b6f856c", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/15/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "15", "link_map": {"/zh/docs/15/plperl.html": "/docs/15/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/15/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "027b8aa5006bad7591ecfe71ee3291170ddcec90a7fd3363c9e15f324f3dbddd", "content_hash": "7da91c1b11d15a0762ca2a8c3e462464421014b7f6ce8ca6d4e1a8ebe1e9fb5c", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/15/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/15/plperl-builtins.html", "method": "same-major semantic node", "sha256": "102149d200b441a8766d2c3125bef35ce8ed0d472e7275f5611d0ced12c44b69", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/15/plperl-data.html", "method": "same-major semantic node", "sha256": "ad74fc68b5a34fbdf2065b14ee4cbaac206513fe31b6ffc500ceb322f07230b1", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/15/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "5828c519248db4e715088443c3402d1b8003db6434fb585645522a6aac02626e", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/15/plperl-global.html", "method": "same-major semantic node", "sha256": "2db4c32ef4ef6cf212c6960a9d5b626738ce5578900ab9170e9907955a9ffe3f", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/15/plperl-triggers.html", "method": "same-major semantic node", "sha256": "26b236b1625cc1e9f9c82d9089f23f9cdbb2f74dc1483a942b31ce9b00a7bee0", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/15/plperl-trusted.html", "method": "same-major semantic node", "sha256": "5252c3e7c159e610c36ab2abb895afcc1a9fa8a199e26298922d66fc85377820", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/15/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "849fe0f1462f35c01504db713fd65f0bd973f83217b8fe8e86192d8f15f9bacd", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/15/plperl.html", "method": "same-major semantic node", "sha256": "3c7248cfe2e910ad695a4cafe9670957246b41bd853602cb51589a2beb31eb95", "language": "zh", "matched_nodes": ["#PLPERL/h3[0]", "#PLPERL/h3[1]", "#PLPERL/p[1]", "#PLPERL/p[2]", "#PLPERL/p[3]", "#PLPERL/p[4]", "#PLPERL/p[5]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "PL/Perl procedural language", "/versions/15/facts/0/label": "Kind", "/versions/15/facts/0/value": "Bundled procedural-language variant", "/versions/15/facts/1/label": "Family", "/versions/15/facts/2/label": "Trusted", "/versions/15/facts/3/label": "Handler", "/versions/15/facts/4/label": "Inline handler", "/versions/15/facts/5/label": "Validator", "/versions/15/facts/6/label": "Library", "/versions/15/facts/7/label": "Default version", "/versions/15/facts/8/label": "Module pathname", "/versions/15/facts/9/label": "Comment", "/versions/15/facts/9/value": "PL/Perl procedural language", "/versions/15/related/0/label": "plperl-builtins", "/versions/15/related/1/label": "plperl-data", "/versions/15/related/2/label": "plperl-event-triggers", "/versions/15/related/4/label": "plperl-global", "/versions/15/related/5/label": "plperl-triggers", "/versions/15/related/6/label": "plperl-trusted", "/versions/15/related/7/label": "plperl-under-the-hood", "/versions/15/sections/0/title": "Installation definition from the matching source archive", "/versions/15/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "c1698431b3ac5f4b33c2f8297c19b001e1227a32eb5e902a50ddaf00aae150e6", "canonical_center_text_hash": "7da91c1b11d15a0762ca2a8c3e462464421014b7f6ce8ca6d4e1a8ebe1e9fb5c"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/15/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "16": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/16/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/16/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/16/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/16/plperl-funcs.html", "label": "PL/Perl \u51fd\u6570\u548c\u53c2\u6570"}, {"url": "/docs/16/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/16/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/16/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/16/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "catalog_fingerprint": "fa133458dc8f52e15083b4f59b7a582e2e378b608d3ac5c53054df458a374e23"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, {"url": "/docs/16/plperl.html", "path": "plperl.html", "label": "PostgreSQL 16 English manual", "sha256": "cb37a0a73ae8fe47ce7ccc8c996e30d866b9064fa3bfe9a3a0a55ef3b48d31d6"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/16/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "80aef7903820955216b460cb2bf566c3380114fff880ced98c71ac8e317099c4", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "44503d16be57739c7343c1311e753487adcb61beba5b34f06f05f609d17a2563", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "16", "text_hash": "d883e7dee3241cad38d7f13c4380179db68b5fdf826e4623b74c0947a6e0bd4f", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/16/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "80aef7903820955216b460cb2bf566c3380114fff880ced98c71ac8e317099c4", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "44503d16be57739c7343c1311e753487adcb61beba5b34f06f05f609d17a2563", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/16/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "16", "link_map": {"/zh/docs/16/plperl.html": "/docs/16/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/16/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "0d48afbe563829aef674c92c2a37c43fc1a189fb9cfc3b9b39ffaec4b83f99c5", "content_hash": "d883e7dee3241cad38d7f13c4380179db68b5fdf826e4623b74c0947a6e0bd4f", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/16/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/16/plperl-builtins.html", "method": "same-major semantic node", "sha256": "fe2a327545161322f4c3f4780f2ead8b222808d53271fe32ed9cf81d241f16f7", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl-data.html", "method": "same-major semantic node", "sha256": "56ed1b1d4bab7605230fa161d47d18bd5262f032006a72382b0bf9f6694c34ff", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "6580af5e9cc72dfe95e4178b769fa51867e529421b559be518503f5348271ea3", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl-funcs.html", "method": "same-major semantic node", "sha256": "ef29443ee64bbaf4cc387b42aa4a763aaf16c51304a20bc495676638012a793f", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl-global.html", "method": "same-major semantic node", "sha256": "4ce4515a1013dd26bbeac6ea3aff480910597620e04b749bc99f16710d2f03b4", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl-triggers.html", "method": "same-major semantic node", "sha256": "94a21ac54d0c653e3da8a82501596c2439826ab2fd387b3b342623f4062f109f", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl-trusted.html", "method": "same-major semantic node", "sha256": "5c42259ba0fb3cc6951546f7db26acd5b546c863024e222878f5216007db7171", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "dc5368e800745f849a27c18b897ec3a512bfbd048d8002248b461c5bcd897dcf", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/16/plperl.html", "method": "same-major semantic node", "sha256": "97de5eed79fe75199e8bea1ae488b09fa9e1e6ff408773512a739b5e57548915", "language": "zh", "matched_nodes": ["#PLPERL/div[7]/h3[0]", "#PLPERL/div[7]/p[1]", "#PLPERL/div[8]/h3[0]", "#PLPERL/div[8]/p[1]", "#PLPERL/p[4]", "#PLPERL/p[5]", "#PLPERL/p[6]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "PL/Perl procedural language", "/versions/16/facts/0/label": "Kind", "/versions/16/facts/0/value": "Bundled procedural-language variant", "/versions/16/facts/1/label": "Family", "/versions/16/facts/2/label": "Trusted", "/versions/16/facts/3/label": "Handler", "/versions/16/facts/4/label": "Inline handler", "/versions/16/facts/5/label": "Validator", "/versions/16/facts/6/label": "Library", "/versions/16/facts/7/label": "Default version", "/versions/16/facts/8/label": "Module pathname", "/versions/16/facts/9/label": "Comment", "/versions/16/facts/9/value": "PL/Perl procedural language", "/versions/16/related/0/label": "plperl-builtins", "/versions/16/related/1/label": "plperl-data", "/versions/16/related/2/label": "plperl-event-triggers", "/versions/16/related/3/label": "plperl-funcs", "/versions/16/related/4/label": "plperl-global", "/versions/16/related/5/label": "plperl-triggers", "/versions/16/related/6/label": "plperl-trusted", "/versions/16/related/7/label": "plperl-under-the-hood", "/versions/16/sections/0/title": "Installation definition from the matching source archive", "/versions/16/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "1948638dab3eee47404045b0d0c15a2392c1e995e6f1270281f9199ce6c758fd", "canonical_center_text_hash": "d883e7dee3241cad38d7f13c4380179db68b5fdf826e4623b74c0947a6e0bd4f"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/16/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "17": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/17/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/17/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/17/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/17/plperl-funcs.html", "label": "PL/Perl \u51fd\u6570\u548c\u53c2\u6570"}, {"url": "/docs/17/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/17/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/17/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/17/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "catalog_fingerprint": "4bbe3ac77becd618478f66aec420a533e9017be356c5c1d51a4b17f0fd497c07"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, {"url": "/docs/17/plperl.html", "path": "plperl.html", "label": "PostgreSQL 17 English manual", "sha256": "513140d0aad3ffe43682ff112bc86c4e83fe365d83620597c1cd4772a8001acb"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/17/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "6d0b813fe8c5a8d467e729b762fc00440c18fc3c328ff41d94a1a7b90cd210d4", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "82ad139f760af3e9bd405495daa3f1955453cbe57d3bedb2492871aa6f620dca", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "17", "text_hash": "19a9e2180acb6d30346c22d7e2bad628f08729a79014d71eac57fd9bd4095638", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/17/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "6d0b813fe8c5a8d467e729b762fc00440c18fc3c328ff41d94a1a7b90cd210d4", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "82ad139f760af3e9bd405495daa3f1955453cbe57d3bedb2492871aa6f620dca", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/17/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "17", "link_map": {"/zh/docs/17/plperl.html": "/docs/17/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/17/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "61e8c3ad9f580223de1d1cdeb9214ab88d0e87af66647c2e460931677f148eae", "content_hash": "19a9e2180acb6d30346c22d7e2bad628f08729a79014d71eac57fd9bd4095638", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/17/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/17/plperl-builtins.html", "method": "same-major semantic node", "sha256": "81f1ad91ecb421805999633c5e3e0e7baeffb7be26356dededf43c84f8050dae", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl-data.html", "method": "same-major semantic node", "sha256": "a8c86071a49cfa5d4a90e46179a1ce62920d976221b9f9a70a8158743500a202", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "64259aa5cfd33fc0270aeddd8b622d9a647a7aa495a90faebc9a78a38fb46b02", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl-funcs.html", "method": "same-major semantic node", "sha256": "2fc1cdd5a9c35c3d1e77a9b3851a094878a7e7ceb53e47a2c74edba01713bac2", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl-global.html", "method": "same-major semantic node", "sha256": "57436bc65ee884745157e312a65f8168082f4e4df14239d4a9246eb5fb227f31", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl-triggers.html", "method": "same-major semantic node", "sha256": "7ff6c9b6426713a433c264d119624c3c6106b046afe7ead80f2c7a19ff887403", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl-trusted.html", "method": "same-major semantic node", "sha256": "11bdca356e0c278008b83777f0136d41265edd0b12e0e9bb4c05a0c0cdb46766", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "4540d9229855ae515403aee6c68d804ea5dd6a5ee988a6e8110384b1290776d6", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/17/plperl.html", "method": "same-major semantic node", "sha256": "74da8605e6d6cda498d943697278992ce27b8562e7cfd7d463f9c5354aca2326", "language": "zh", "matched_nodes": ["#PLPERL/div[7]/h3[0]", "#PLPERL/div[7]/p[1]", "#PLPERL/div[8]/h3[0]", "#PLPERL/div[8]/p[1]", "#PLPERL/p[4]", "#PLPERL/p[5]", "#PLPERL/p[6]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "PL/Perl procedural language", "/versions/17/facts/0/label": "Kind", "/versions/17/facts/0/value": "Bundled procedural-language variant", "/versions/17/facts/1/label": "Family", "/versions/17/facts/2/label": "Trusted", "/versions/17/facts/3/label": "Handler", "/versions/17/facts/4/label": "Inline handler", "/versions/17/facts/5/label": "Validator", "/versions/17/facts/6/label": "Library", "/versions/17/facts/7/label": "Default version", "/versions/17/facts/8/label": "Module pathname", "/versions/17/facts/9/label": "Comment", "/versions/17/facts/9/value": "PL/Perl procedural language", "/versions/17/related/0/label": "plperl-builtins", "/versions/17/related/1/label": "plperl-data", "/versions/17/related/2/label": "plperl-event-triggers", "/versions/17/related/3/label": "plperl-funcs", "/versions/17/related/4/label": "plperl-global", "/versions/17/related/5/label": "plperl-triggers", "/versions/17/related/6/label": "plperl-trusted", "/versions/17/related/7/label": "plperl-under-the-hood", "/versions/17/sections/0/title": "Installation definition from the matching source archive", "/versions/17/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "ac422d59e26f0514f10df90597c633a837c2155d07348478eeb2d1d5381418f9", "canonical_center_text_hash": "19a9e2180acb6d30346c22d7e2bad628f08729a79014d71eac57fd9bd4095638"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/17/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "18": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/18/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/18/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/18/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/18/plperl-funcs.html", "label": "PL/Perl \u51fd\u6570\u548c\u53c2\u6570"}, {"url": "/docs/18/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/18/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/18/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/18/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "catalog_fingerprint": "65c93d6048ef30e61023a84f9680fa6a92b1c383b7eb226741170077eb078502"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "/docs/18/plperl.html", "path": "plperl.html", "label": "PostgreSQL 18 English manual", "sha256": "df8d580be7d76f557e7e2e5cc7bec6ad6870ed6ccc987ced882308747c8da608"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "1302848eedcd03f9e8a178c2ff45dcbaca7e0f05d4c6fcfbda89c5659aeb8925", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "7600a981ca7960a74e75a76738a90aee2d0fea3a55fedc6d449d89509eb3fd9f", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "18", "text_hash": "7360d2c0599c5f35661df8eaafe03aadc7db720a1648387f4a66e4e6bc9e2a1e", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "1302848eedcd03f9e8a178c2ff45dcbaca7e0f05d4c6fcfbda89c5659aeb8925", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "7600a981ca7960a74e75a76738a90aee2d0fea3a55fedc6d449d89509eb3fd9f", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/18/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "18", "link_map": {"/zh/docs/18/plperl.html": "/docs/18/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/18/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "e693f3e8a39966b29b6a110c0175e9087949adab69536295ba2e4934c350009a", "content_hash": "7360d2c0599c5f35661df8eaafe03aadc7db720a1648387f4a66e4e6bc9e2a1e", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/18/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/18/plperl-builtins.html", "method": "same-major semantic node", "sha256": "f98c07e9a36998c5a3fe6efce8ede51764a7c324bac873ddd4d16447aa0a1b80", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-data.html", "method": "same-major semantic node", "sha256": "82ba3617929c7715d3a7f0d2ce0df67872f8cf4a3430ca4b7c4520b66a3dc41b", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "f5d88bce2275c97fd682e878d25c239037094fe24c3d8b071fd548e551e106fe", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-funcs.html", "method": "same-major semantic node", "sha256": "8d4eec48e60f7781084599166f4c7a0ab6bd17958b2fdcba795b56f04f8e00f7", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-global.html", "method": "same-major semantic node", "sha256": "8a556851863ff8b77fd034069191bea159a1f423128d42fedf4fa5afd025e377", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-triggers.html", "method": "same-major semantic node", "sha256": "f5650532475f4a21d7fbe5cab78129fb461b0f7116737ce5675506064c6406da", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-trusted.html", "method": "same-major semantic node", "sha256": "5774a369f73d0b423f56b60eb2b1a061acb263804993311a1344422f9ef13954", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "b2622e5d2e04136bf3f8c175046083a360cce01b8eab825903ff4d7f9beb89ef", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl.html", "method": "same-major semantic node", "sha256": "7c9fa3cbd3549fd67e994af4262f703dc749d39f9d1221ca5d723948cd6fe71f", "language": "zh", "matched_nodes": ["#PLPERL/div[7]/h3[0]", "#PLPERL/div[7]/p[1]", "#PLPERL/div[8]/h3[0]", "#PLPERL/div[8]/p[1]", "#PLPERL/p[4]", "#PLPERL/p[5]", "#PLPERL/p[6]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "PL/Perl procedural language", "/versions/18/facts/0/label": "Kind", "/versions/18/facts/0/value": "Bundled procedural-language variant", "/versions/18/facts/1/label": "Family", "/versions/18/facts/2/label": "Trusted", "/versions/18/facts/3/label": "Handler", "/versions/18/facts/4/label": "Inline handler", "/versions/18/facts/5/label": "Validator", "/versions/18/facts/6/label": "Library", "/versions/18/facts/7/label": "Default version", "/versions/18/facts/8/label": "Module pathname", "/versions/18/facts/9/label": "Comment", "/versions/18/facts/9/value": "PL/Perl procedural language", "/versions/18/related/0/label": "plperl-builtins", "/versions/18/related/1/label": "plperl-data", "/versions/18/related/2/label": "plperl-event-triggers", "/versions/18/related/3/label": "plperl-funcs", "/versions/18/related/4/label": "plperl-global", "/versions/18/related/5/label": "plperl-triggers", "/versions/18/related/6/label": "plperl-trusted", "/versions/18/related/7/label": "plperl-under-the-hood", "/versions/18/sections/0/title": "Installation definition from the matching source archive", "/versions/18/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "bc5eeb99ecc3022baf6908897064aba1c8f97218e52e05ddef057eab29183b1d", "canonical_center_text_hash": "7360d2c0599c5f35661df8eaafe03aadc7db720a1648387f4a66e4e6bc9e2a1e"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/18/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/docs/18/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "19": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/19/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/19/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/19/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/19/plperl-funcs.html", "label": "PL/Perl \u51fd\u6570\u548c\u53c2\u6570"}, {"url": "/docs/19/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/19/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/19/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/19/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19rc1/postgresql-19rc1.tar.bz2", "label": "19rc1", "major": "19", "channel": "preview", "revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "source_sha256": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "catalog_fingerprint": "62fbf1a3689dbe8bf7e6b3372cfe6fbf867581427b3858a94c8419b77a4d2d1d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v19rc1/postgresql-19rc1.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, {"url": "/docs/19/plperl.html", "path": "plperl.html", "label": "PostgreSQL 19 English manual", "sha256": "f850555f111677cc47c404aeca6660eedc55a0b289226fc83c720faf679a3e61"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/19/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "558f49f54d0cf043ad6e5e998b85810e2d018b5ee0ce4a68a072f94fb0dca7ff", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "4f37760a8cedabde04930b588ac0f53f984b787e71c9d3d49d058b8f344d9e41", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "19", "text_hash": "4638fed3d78a7d1cb1d6d194337ac32d86f4f49037cefb0bd7f10ef99d7fc7b8", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/19/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "558f49f54d0cf043ad6e5e998b85810e2d018b5ee0ce4a68a072f94fb0dca7ff", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "4f37760a8cedabde04930b588ac0f53f984b787e71c9d3d49d058b8f344d9e41", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/19/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "19", "link_map": {"/zh/docs/19/plperl.html": "/docs/19/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/19/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "71c35050ef841cb68e4d0ab42f779e63b29fa18d568cd641b257e5d7701e8ef8", "content_hash": "4638fed3d78a7d1cb1d6d194337ac32d86f4f49037cefb0bd7f10ef99d7fc7b8", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/19/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/19/plperl-builtins.html", "method": "same-major semantic node", "sha256": "9a79a13d1a1fdf0a26a493f22d0ac5f68ee125ff95520e5c343d692fcfee6ad4", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl-data.html", "method": "same-major semantic node", "sha256": "e2a0e74b2a8803917739b559a8dae351075de239c0c6fa43985f87459e47b275", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "1aa4bf5c83982bb4db282f65166261951603ec06688b1016b59b2ee2fe973a26", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl-funcs.html", "method": "same-major semantic node", "sha256": "ac159b2c21903a63c28465ec51643ca74ed4cf35d4e32d0b22b4dcd31e23921c", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl-global.html", "method": "same-major semantic node", "sha256": "6938f20ce07407fb92ef5c844048d17972c4066c4ce312f76f046763dc42461d", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl-triggers.html", "method": "same-major semantic node", "sha256": "88cf5d0e89289719a7431b1137ac3587d925959ff5fc57417610f7cf3db73a44", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl-trusted.html", "method": "same-major semantic node", "sha256": "fbf54d00d60bcaa6bbf2ec84da1e78d7f1bd0763e3b0b9abd98a7053db3c321a", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "9dd0bb06d428333a64466b0f8f21b2fe8648a4995087f551072453f683bf4987", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/19/plperl.html", "method": "same-major semantic node", "sha256": "f924851e6d64383e800bddc247523b5a0b9c8972181607670934bbf07c87c1dd", "language": "zh", "matched_nodes": ["#PLPERL/div[7]/h3[0]", "#PLPERL/div[7]/p[1]", "#PLPERL/div[8]/h3[0]", "#PLPERL/div[8]/p[1]", "#PLPERL/p[4]", "#PLPERL/p[5]", "#PLPERL/p[6]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "PL/Perl procedural language", "/versions/19/facts/0/label": "Kind", "/versions/19/facts/0/value": "Bundled procedural-language variant", "/versions/19/facts/1/label": "Family", "/versions/19/facts/2/label": "Trusted", "/versions/19/facts/3/label": "Handler", "/versions/19/facts/4/label": "Inline handler", "/versions/19/facts/5/label": "Validator", "/versions/19/facts/6/label": "Library", "/versions/19/facts/7/label": "Default version", "/versions/19/facts/8/label": "Module pathname", "/versions/19/facts/9/label": "Comment", "/versions/19/facts/9/value": "PL/Perl procedural language", "/versions/19/related/0/label": "plperl-builtins", "/versions/19/related/1/label": "plperl-data", "/versions/19/related/2/label": "plperl-event-triggers", "/versions/19/related/3/label": "plperl-funcs", "/versions/19/related/4/label": "plperl-global", "/versions/19/related/5/label": "plperl-triggers", "/versions/19/related/6/label": "plperl-trusted", "/versions/19/related/7/label": "plperl-under-the-hood", "/versions/19/sections/0/title": "Installation definition from the matching source archive", "/versions/19/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "ccf2baf3c81b12af46f0a9c8096a024324d2e57f6faa37683fc31a39a9a51600", "canonical_center_text_hash": "4638fed3d78a7d1cb1d6d194337ac32d86f4f49037cefb0bd7f10ef99d7fc7b8"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/19/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "previous_source_revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}}, "20": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/devel/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/devel/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/devel/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/devel/plperl-funcs.html", "label": "PL/Perl \u51fd\u6570\u548c\u53c2\u6570"}, {"url": "/docs/devel/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/devel/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/devel/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/devel/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "source_sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "catalog_fingerprint": "1ae459dc2ba59b6e0a27d5cbeebb27c417dd0be8ddf853fb0c1e533d4e449c9a"}, "sources": [{"url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, {"url": "/docs/devel/plperl.html", "path": "plperl.html", "label": "PostgreSQL 20 English manual", "sha256": "60491f837622673c110f76800c6af445e5e55b2524603d230530a4df0091668e"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/devel/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "d1ac9cbe12f6d7e4e5c01a2dda0cadc80853dafc4fa8fd025ddc4eff0de13400", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "b76f360a05a012ab8ee062f5440d858280830cfadce7e0f054ef0327c304ff7f", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "20", "text_hash": "0d6175254517aa3d9317eaaa321ed5e8cff70b13e9b37a4df1ee61c2919e9eaf", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/devel/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "d1ac9cbe12f6d7e4e5c01a2dda0cadc80853dafc4fa8fd025ddc4eff0de13400", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "b76f360a05a012ab8ee062f5440d858280830cfadce7e0f054ef0327c304ff7f", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/devel/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "20", "link_map": {"/zh/docs/devel/plperl.html": "/docs/devel/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/devel/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "979bd78b24464f71afe54b4bc45c957ca6ea1659021dc9bcc8b62515d1a02549", "content_hash": "0d6175254517aa3d9317eaaa321ed5e8cff70b13e9b37a4df1ee61c2919e9eaf", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/devel/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/plperl-builtins.html", "method": "same-major semantic node", "sha256": "0378e029158b5819c3e40fcba7bbc974e6f8daece8bd5f071ed06db06bf32b17", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl-data.html", "method": "same-major semantic node", "sha256": "a92bc9e65bf6015d4b62ea14195ddf715e9c076e13764d5e392c9d5a9abe67fa", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "99d7dcae3b7351780d8ec4313ac870f25af31b49f92d5c87d57fe040d3cc982d", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl-funcs.html", "method": "same-major semantic node", "sha256": "00f9eab200e74104133f77a7a9a7407278939f09ef334cf098c3210449a90263", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl-global.html", "method": "same-major semantic node", "sha256": "72705176ce93852aea3617b648e4d9f58258680caa711ebc5c051c321284f506", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl-triggers.html", "method": "same-major semantic node", "sha256": "5f56400145ac63b152be636aed9259b845ed3d625cd7763438010fa8bbc52593", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl-trusted.html", "method": "same-major semantic node", "sha256": "fead3f40367a93a8ecc5b587b50f6cab44f1e2ae52dc17b41867c049681aa1f8", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "c7966ad91453e388a719b575983d3cac6a39b8c1a3ecf0e758808dd48ad1c5ac", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/devel/plperl.html", "method": "same-major semantic node", "sha256": "5d2899c5f9e9bc2cf19d4ea732b311a23936b86e4c4f01f27c02ee85b5016763", "language": "zh", "matched_nodes": ["#PLPERL/div[7]/h3[0]", "#PLPERL/div[7]/p[1]", "#PLPERL/div[8]/h3[0]", "#PLPERL/div[8]/p[1]", "#PLPERL/p[4]", "#PLPERL/p[5]", "#PLPERL/p[6]"]}], "language": "zh", "original_text": {"/summary": "PL/Perl procedural language", "/versions/20/description/0": "PL/Perl procedural language", "/versions/20/facts/0/label": "Kind", "/versions/20/facts/0/value": "Bundled procedural-language variant", "/versions/20/facts/1/label": "Family", "/versions/20/facts/2/label": "Trusted", "/versions/20/facts/3/label": "Handler", "/versions/20/facts/4/label": "Inline handler", "/versions/20/facts/5/label": "Validator", "/versions/20/facts/6/label": "Library", "/versions/20/facts/7/label": "Default version", "/versions/20/facts/8/label": "Module pathname", "/versions/20/facts/9/label": "Comment", "/versions/20/facts/9/value": "PL/Perl procedural language", "/versions/20/related/0/label": "plperl-builtins", "/versions/20/related/1/label": "plperl-data", "/versions/20/related/2/label": "plperl-event-triggers", "/versions/20/related/3/label": "plperl-funcs", "/versions/20/related/4/label": "plperl-global", "/versions/20/related/5/label": "plperl-triggers", "/versions/20/related/6/label": "plperl-trusted", "/versions/20/related/7/label": "plperl-under-the-hood", "/versions/20/sections/0/title": "Installation definition from the matching source archive", "/versions/20/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "62b1b603f23229a60cf3b92ac6e00342b7a4db9ace4e62649465878cdb54c731", "canonical_center_text_hash": "0d6175254517aa3d9317eaaa321ed5e8cff70b13e9b37a4df1ee61c2919e9eaf"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/devel/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "previous_source_revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}}}}, "snapshot": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/18/plperl-builtins.html", "label": "\u5185\u7f6e\u51fd\u6570"}, {"url": "/docs/18/plperl-data.html", "label": "PL/Perl \u4e2d\u7684\u6570\u636e\u503c"}, {"url": "/docs/18/plperl-event-triggers.html", "label": "PL/Perl \u4e8b\u4ef6\u89e6\u53d1\u5668"}, {"url": "/docs/18/plperl-funcs.html", "label": "PL/Perl \u51fd\u6570\u548c\u53c2\u6570"}, {"url": "/docs/18/plperl-global.html", "label": "PL/Perl \u4e2d\u7684\u5168\u5c40\u503c"}, {"url": "/docs/18/plperl-triggers.html", "label": "PL/Perl \u89e6\u53d1\u5668"}, {"url": "/docs/18/plperl-trusted.html", "label": "\u53d7\u4fe1\u4efb\u4e0e\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Perl"}, {"url": "/docs/18/plperl-under-the-hood.html", "label": "PL/Perl \u5185\u90e8\u673a\u5236"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "catalog_fingerprint": "65c93d6048ef30e61023a84f9680fa6a92b1c383b7eb226741170077eb078502"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "/docs/18/plperl.html", "path": "plperl.html", "label": "PostgreSQL 18 English manual", "sha256": "df8d580be7d76f557e7e2e5cc7bec6ad6870ed6ccc987ced882308747c8da608"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "1302848eedcd03f9e8a178c2ff45dcbaca7e0f05d4c6fcfbda89c5659aeb8925", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "7600a981ca7960a74e75a76738a90aee2d0fea3a55fedc6d449d89509eb3fd9f", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plperl", "locale": "zh-Hans", "source": {"key": "plperl", "locale": "zh-Hans", "version": "18", "text_hash": "7360d2c0599c5f35661df8eaafe03aadc7db720a1648387f4a66e4e6bc9e2a1e", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Perl"}, {"label": "\u53ef\u4fe1", "value": "t"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plperl_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plperl_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plperl_validator"}, {"label": "\u5e93", "value": "$libdir/plperl"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plperl"}, {"label": "\u6ce8\u91ca", "value": "PL/Perl \u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/plperl.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "plperl.html", "extraction": "concept-introduction", "source_hash": "1302848eedcd03f9e8a178c2ff45dcbaca7e0f05d4c6fcfbda89c5659aeb8925", "fragment_sha256": "74f8d7d5160b1841890429764fa13aad1ac7cc38d7340519072ed1804e1e52c5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "7600a981ca7960a74e75a76738a90aee2d0fea3a55fedc6d449d89509eb3fd9f", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a class=\"ulink\" href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span class=\"quote\">\u201c<span class=\"quote\">\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code class=\"literal\">CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/18/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "version": "18", "link_map": {"/zh/docs/18/plperl.html": "/docs/18/plperl.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/18/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "e693f3e8a39966b29b6a110c0175e9087949adab69536295ba2e4934c350009a", "content_hash": "7360d2c0599c5f35661df8eaafe03aadc7db720a1648387f4a66e4e6bc9e2a1e", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "comment": "PL/Perl procedural language", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plperl"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002"], "manual_html": "", "manual_path": "/docs/18/plperl.html", "sections_zh": [{"code": "/* src/pl/plperl/plperl--1.0.sql */\n\nCREATE FUNCTION plperl_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plperl_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE TRUSTED LANGUAGE plperl\n  HANDLER plperl_call_handler\n  INLINE plperl_inline_handler\n  VALIDATOR plperl_validator;\n\n-- The language object, but not the functions, can be owned by a non-superuser.\nALTER LANGUAGE plperl OWNER TO @extowner@;\n\nCOMMENT ON LANGUAGE plperl IS 'PL/Perl procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/18/plperl-builtins.html", "method": "same-major semantic node", "sha256": "f98c07e9a36998c5a3fe6efce8ede51764a7c324bac873ddd4d16447aa0a1b80", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-data.html", "method": "same-major semantic node", "sha256": "82ba3617929c7715d3a7f0d2ce0df67872f8cf4a3430ca4b7c4520b66a3dc41b", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-event-triggers.html", "method": "same-major semantic node", "sha256": "f5d88bce2275c97fd682e878d25c239037094fe24c3d8b071fd548e551e106fe", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-funcs.html", "method": "same-major semantic node", "sha256": "8d4eec48e60f7781084599166f4c7a0ab6bd17958b2fdcba795b56f04f8e00f7", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-global.html", "method": "same-major semantic node", "sha256": "8a556851863ff8b77fd034069191bea159a1f423128d42fedf4fa5afd025e377", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-triggers.html", "method": "same-major semantic node", "sha256": "f5650532475f4a21d7fbe5cab78129fb461b0f7116737ce5675506064c6406da", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-trusted.html", "method": "same-major semantic node", "sha256": "5774a369f73d0b423f56b60eb2b1a061acb263804993311a1344422f9ef13954", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl-under-the-hood.html", "method": "same-major semantic node", "sha256": "b2622e5d2e04136bf3f8c175046083a360cce01b8eab825903ff4d7f9beb89ef", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/18/plperl.html", "method": "same-major semantic node", "sha256": "7c9fa3cbd3549fd67e994af4262f703dc749d39f9d1221ca5d723948cd6fe71f", "language": "zh", "matched_nodes": ["#PLPERL/div[7]/h3[0]", "#PLPERL/div[7]/p[1]", "#PLPERL/div[8]/h3[0]", "#PLPERL/div[8]/p[1]", "#PLPERL/p[4]", "#PLPERL/p[5]", "#PLPERL/p[6]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "PL/Perl procedural language", "/versions/18/facts/0/label": "Kind", "/versions/18/facts/0/value": "Bundled procedural-language variant", "/versions/18/facts/1/label": "Family", "/versions/18/facts/2/label": "Trusted", "/versions/18/facts/3/label": "Handler", "/versions/18/facts/4/label": "Inline handler", "/versions/18/facts/5/label": "Validator", "/versions/18/facts/6/label": "Library", "/versions/18/facts/7/label": "Default version", "/versions/18/facts/8/label": "Module pathname", "/versions/18/facts/9/label": "Comment", "/versions/18/facts/9/value": "PL/Perl procedural language", "/versions/18/related/0/label": "plperl-builtins", "/versions/18/related/1/label": "plperl-data", "/versions/18/related/2/label": "plperl-event-triggers", "/versions/18/related/3/label": "plperl-funcs", "/versions/18/related/4/label": "plperl-global", "/versions/18/related/5/label": "plperl-triggers", "/versions/18/related/6/label": "plperl-trusted", "/versions/18/related/7/label": "plperl-under-the-hood", "/versions/18/sections/0/title": "Installation definition from the matching source archive", "/versions/18/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "bc5eeb99ecc3022baf6908897064aba1c8f97218e52e05ddef057eab29183b1d", "canonical_center_text_hash": "7360d2c0599c5f35661df8eaafe03aadc7db720a1648387f4a66e4e6bc9e2a1e"}, "source_files": {"src/pl/plperl/plperl.control": "12e5ab2ab6f9d9963482311084b3171087a28b3168f7e1e09ada38df4ba264e3", "src/pl/plperl/plperl--1.0.sql": "8a6ef30b252bfdd4fd79bed8acd37622600544148e780060c8bfa7f968a43716"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Perl", "handler": "plperl_call_handler", "library": "$libdir/plperl", "trusted": "t", "validator": "plperl_validator", "inline_handler": "plperl_inline_handler", "default_version": "1.0"}, "comparison_hash": "a00c47e0d93a6cb24d319ebff1ecea0c54254650f9ecd1129bb5115a736dc8b5", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\" rel=\"nofollow\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/zh/docs/18/plperl.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u8fc7\u7a0b\u8bed\u8a00 plperl\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Perl</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plperl</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u662f</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plperl_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plperl_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plperl</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n   PL/Perl \u662f\u4e00\u79cd\u53ef\u52a0\u8f7d\u7684\u8fc7\u7a0b\u8bed\u8a00\uff0c\u5b83\u5141\u8bb8\u4f7f\u7528\n   <a href=\"https://www.perl.org\">Perl \u7f16\u7a0b\u8bed\u8a00</a>\u7f16\u5199\n   <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n  </p><p>\n   \u4f7f\u7528 PL/Perl \u7684\u4e3b\u8981\u4f18\u52bf\u5728\u4e8e\uff0c\u5b83\u5141\u8bb8\u5728\u5b58\u50a8\u51fd\u6570\u548c\u8fc7\u7a0b\u4e2d\u4f7f\u7528 Perl \u63d0\u4f9b\u7684\u5927\u91cf<span>\u201c<span>\u5b57\u7b26\u4e32\u5904\u7406</span>\u201d</span>\u64cd\u4f5c\u7b26\u548c\u51fd\u6570\u3002\u4e0e PL/pgSQL \u63d0\u4f9b\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u63a7\u5236\u7ed3\u6784\u76f8\u6bd4\uff0c\u4f7f\u7528 Perl \u89e3\u6790\u590d\u6742\u5b57\u7b26\u4e32\u53ef\u80fd\u66f4\u5bb9\u6613\u3002\n  </p><p>\n   \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Perl\uff0c\u53ef\u4f7f\u7528\n   <code>CREATE EXTENSION plperl</code>\u3002\n  </p><p><a href=\"/docs/18/plperl.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}