diff --git a/src/backend/catalog/Catalog.pm b/src/backend/catalog/Catalog.pm
index 1546e1b335..052abe322f 100644
--- a/src/backend/catalog/Catalog.pm
+++ b/src/backend/catalog/Catalog.pm
@@ -314,11 +314,14 @@ sub ParseData
 				{
 					# We're treating the input line as a piece of Perl, so we
 					# need to use string eval here. Tell perlcritic we know what
-					# we're doing.
-					#<<< protect next line from perltidy
-					# so perlcritic annotation works
-					eval '$hash_ref = ' . $_;    ## no critic (ProhibitStringyEval)
-					#>>>
+					# we're doing. The separate block for this statement is to
+					# limit the scope of the perlcritic exception, which is on
+					# its own line to keep perltidy from reindenting it.
+					{
+						## no critic (ProhibitStringyEval)
+						eval '$hash_ref = ' . $_;
+					}
+
 					if (!ref $hash_ref)
 					{
 						die "$input_file: error parsing line $.:\n$_\n";
