From: John Naylor Date: Mon, 12 Sep 2022 04:59:43 +0000 (+0700) Subject: Make eval statement naturally proof against perltidy X-Git-Url: http://git.postgresql.org/gitweb/-?a=commitdiff_plain;h=b060f57791cfd84ec7c7eb84eb1d1d38b39aa0a5;p=users%2Frhaas%2Fpostgres.git Make eval statement naturally proof against perltidy This is a bit less verbose than adding an exception. Rewrite the other eval statement in Catalog.pm as well, just for the sake of consistency. Idea from Andrew Dunstan Discussion: https://www.postgresql.org/message-id/CAD5tBc%2BzRhuWn_S4ayH2sWKe60FQu1guTTokDFS3YMOeSrsozA%40mail.gmail.com --- diff --git a/src/backend/catalog/Catalog.pm b/src/backend/catalog/Catalog.pm index 1546e1b335..919a828ca7 100644 --- a/src/backend/catalog/Catalog.pm +++ b/src/backend/catalog/Catalog.pm @@ -315,10 +315,7 @@ 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) - #>>> + eval "\$hash_ref = $_"; ## no critic (ProhibitStringyEval) if (!ref $hash_ref) { die "$input_file: error parsing line $.:\n$_\n"; @@ -364,7 +361,7 @@ sub ParseData # the whole file at once. local $/; my $full_file = <$ifd>; - eval '$data = ' . $full_file ## no critic (ProhibitStringyEval) + eval "\$data = $full_file" ## no critic (ProhibitStringyEval) or die "error parsing $input_file\n"; foreach my $hash_ref (@{$data}) {