rules_perl@0.4.3 (#6071)

diff --git a/modules/rules_perl/0.4.3/MODULE.bazel b/modules/rules_perl/0.4.3/MODULE.bazel
new file mode 100644
index 0000000..1c4b509
--- /dev/null
+++ b/modules/rules_perl/0.4.3/MODULE.bazel
@@ -0,0 +1,48 @@
+"""
+Perl rules
+"""
+
+module(
+    name = "rules_perl",
+    version = "0.4.3",
+)
+
+bazel_dep(name = "platforms", version = "0.0.10")
+bazel_dep(name = "bazel_skylib", version = "1.7.1")
+bazel_dep(name = "rules_cc", version = "0.0.17")
+bazel_dep(name = "rules_shell", version = "0.4.0")
+
+repos = use_extension("@rules_perl//perl:extensions.bzl", "perl_repositories")
+use_repo(
+    repos,
+    "perl_darwin_amd64",
+    "perl_darwin_arm64",
+    "perl_linux_amd64",
+    "perl_linux_arm64",
+    "perl_windows_x86_64",
+)
+
+register_toolchains(
+    "@rules_perl//perl:perl_darwin_arm64_toolchain",
+    "@rules_perl//perl:perl_darwin_amd64_toolchain",
+    "@rules_perl//perl:perl_linux_amd64_toolchain",
+    "@rules_perl//perl:perl_linux_arm64_toolchain",
+    "@rules_perl//perl:perl_windows_x86_64_toolchain",
+)
+
+cpan = use_extension("@rules_perl//perl/cpan:extensions.bzl", "cpan")
+cpan.install(
+    name = "cpan_compiler_deps",
+    lock = "//perl/cpan/3rdparty:cpanfile.snapshot.lock.json",
+)
+use_repo(
+    cpan,
+    "cpan_compiler_deps",
+)
+
+dev_repos = use_extension("@rules_perl//perl:extensions.bzl", "perl_dev_repositories", dev_dependency = True)
+use_repo(
+    dev_repos,
+    "fcgi",
+    "genhtml",
+)
diff --git a/modules/rules_perl/0.4.3/patches/module_dot_bazel.patch b/modules/rules_perl/0.4.3/patches/module_dot_bazel.patch
new file mode 100644
index 0000000..d2cf54f
--- /dev/null
+++ b/modules/rules_perl/0.4.3/patches/module_dot_bazel.patch
@@ -0,0 +1,13 @@
+diff --git a/MODULE.bazel b/MODULE.bazel
+index d5f0bfe..91dac51 100644
+--- a/MODULE.bazel
++++ b/MODULE.bazel
+@@ -4,7 +4,7 @@ Perl rules
+ 
+ module(
+     name = "rules_perl",
+-    version = "0.0.0",
++    version = "0.4.3",
+ )
+ 
+ bazel_dep(name = "platforms", version = "0.0.10")
diff --git a/modules/rules_perl/0.4.3/presubmit.yml b/modules/rules_perl/0.4.3/presubmit.yml
new file mode 100644
index 0000000..88e7ae4
--- /dev/null
+++ b/modules/rules_perl/0.4.3/presubmit.yml
@@ -0,0 +1,24 @@
+# Copyright 2024 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+matrix:
+  platform: ["debian11", "macos_arm64", "ubuntu2004", "windows"]
+  bazel: [7.x, 8.x]
+tasks:
+  verify_targets:
+    name: Verify build targets
+    platform: ${{ platform }}
+    bazel: ${{ bazel }}
+    test_targets:
+    - '@rules_perl//test/...'
diff --git a/modules/rules_perl/0.4.3/source.json b/modules/rules_perl/0.4.3/source.json
new file mode 100644
index 0000000..330da06
--- /dev/null
+++ b/modules/rules_perl/0.4.3/source.json
@@ -0,0 +1,9 @@
+{
+    "url": "https://github.com/bazel-contrib/rules_perl/archive/refs/tags/0.4.3.tar.gz",
+    "integrity": "sha256-KFIiMSG0MaEAYKQrc3v9e2HIDndxf2ADcNYSO2yT6mU=",
+    "strip_prefix": "rules_perl-0.4.3",
+    "patch_strip": 1,
+    "patches": {
+        "module_dot_bazel.patch": "sha256-8TjvCG+JZz/kme7HnF4/srqMuXh+9Lr4bW0R8fwa/+Y="
+    }
+}
diff --git a/modules/rules_perl/metadata.json b/modules/rules_perl/metadata.json
index a8adcd5..5947766 100644
--- a/modules/rules_perl/metadata.json
+++ b/modules/rules_perl/metadata.json
@@ -24,6 +24,7 @@
         "0.3.0",
         "0.4.0",
         "0.4.1",
-        "0.4.2"
+        "0.4.2",
+        "0.4.3"
     ]
 }