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:
parent
c3fb5809ea
commit
b060f57791
@ -315,10 +315,7 @@ sub ParseData
|
|||||||
# We're treating the input line as a piece of Perl, so we
|
# We're treating the input line as a piece of Perl, so we
|
||||||
# need to use string eval here. Tell perlcritic we know what
|
# need to use string eval here. Tell perlcritic we know what
|
||||||
# we're doing.
|
# we're doing.
|
||||||
#<<< protect next line from perltidy
|
eval "\$hash_ref = $_"; ## no critic (ProhibitStringyEval)
|
||||||
# so perlcritic annotation works
|
|
||||||
eval '$hash_ref = ' . $_; ## no critic (ProhibitStringyEval)
|
|
||||||
#>>>
|
|
||||||
if (!ref $hash_ref)
|
if (!ref $hash_ref)
|
||||||
{
|
{
|
||||||
die "$input_file: error parsing line $.:\n$_\n";
|
die "$input_file: error parsing line $.:\n$_\n";
|
||||||
@ -364,7 +361,7 @@ sub ParseData
|
|||||||
# the whole file at once.
|
# the whole file at once.
|
||||||
local $/;
|
local $/;
|
||||||
my $full_file = <$ifd>;
|
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";
|
or die "error parsing $input_file\n";
|
||||||
foreach my $hash_ref (@{$data})
|
foreach my $hash_ref (@{$data})
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user