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
This commit is contained in:
John Naylor 2022-09-12 11:59:43 +07:00
parent c3fb5809ea
commit b060f57791
1 changed files with 2 additions and 5 deletions

View File

@ -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})
{