diff --git a/lib/Perl/Critic/Policy/ValuesAndExpressions/PreventSQLInjection.pm b/lib/Perl/Critic/Policy/ValuesAndExpressions/PreventSQLInjection.pm index 9701460..37b2398 100644 --- a/lib/Perl/Critic/Policy/ValuesAndExpressions/PreventSQLInjection.pm +++ b/lib/Perl/Critic/Policy/ValuesAndExpressions/PreventSQLInjection.pm @@ -413,7 +413,6 @@ sub get_token_content if ( $token->isa('PPI::Token::HereDoc') ) { my @heredoc = $token->heredoc(); - pop( @heredoc ); # Remove the heredoc termination tag. $content = join( '', @heredoc ); } elsif ( $token->isa('PPI::Token::Quote' ) ) diff --git a/t/10-extract_variables.t b/t/10-extract_variables.t index a813961..ff96b20 100644 --- a/t/10-extract_variables.t +++ b/t/10-extract_variables.t @@ -15,6 +15,10 @@ my $tests = string => 'A test $variable string', expected => [ '$variable' ], }, + { + string => "A test string\n with \$variable", + expected => [ '$variable' ], + }, { string => 'A test $variable $variable string', expected => [ '$variable' ], diff --git a/t/ValuesAndExpressions/PreventSQLInjection.run b/t/ValuesAndExpressions/PreventSQLInjection.run index 1c7956e..47df8ba 100644 --- a/t/ValuesAndExpressions/PreventSQLInjection.run +++ b/t/ValuesAndExpressions/PreventSQLInjection.run @@ -104,6 +104,15 @@ my $heredoc = <<__HERE__ FROM $table __HERE__ +## name Heredoc with variable in last line +## failures 1 +## cut + +my $heredoc = <<__HERE__ + SELECT + FROM $table +__HERE__ + ## name Double-quoted heredoc with multiple variables. ## failures 1 ## cut