commit b53780e1beebf496f2ee4f8b4ad2b51ac85efbcc
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Wed Jun 1 16:15:47 2022 -0400

    Fix pl/perl test case so it will still work under Perl 5.36.
    
    Perl 5.36 has reclassified the warning condition that this test
    case used, so that the expected error fails to appear.  Tweak
    the test so it instead exercises a case that's handled the same
    way in all Perl versions of interest.
    
    This appears to meet our standards for back-patching into
    out-of-support branches: it changes no user-visible behavior
    but enables testing of old branches with newer tools.
    Hence, back-patch as far as 9.2.
    
    Dagfinn Ilmari Mannsåker, per report from Jitka Plesníková.
    
    Discussion: https://postgr.es/m/564579.1654093326@sss.pgh.pa.us

diff --git a/src/pl/plperl/expected/plperl.out b/src/pl/plperl/expected/plperl.out
index d23a3020a3..2dbb9c89d4 100644
--- a/src/pl/plperl/expected/plperl.out
+++ b/src/pl/plperl/expected/plperl.out
@@ -646,9 +646,9 @@ DO $do$ use strict; my $name = "foo"; my $ref = $$name; $do$ LANGUAGE plperl;
 ERROR:  Can't use string ("foo") as a SCALAR ref while "strict refs" in use at line 1.
 CONTEXT:  PL/Perl anonymous code block
 -- check that we can "use warnings" (in this case to turn a warn into an error)
--- yields "ERROR:  Useless use of sort in scalar context."
-DO $do$ use warnings FATAL => qw(void) ; my @y; my $x = sort @y; 1; $do$ LANGUAGE plperl;
-ERROR:  Useless use of sort in scalar context at line 1.
+-- yields "ERROR:  Useless use of sort in void context."
+DO $do$ use warnings FATAL => qw(void) ; my @y; sort @y; 1; $do$ LANGUAGE plperl;
+ERROR:  Useless use of sort in void context at line 1.
 CONTEXT:  PL/Perl anonymous code block
 -- make sure functions marked as VOID without an explicit return work
 CREATE OR REPLACE FUNCTION myfuncs() RETURNS void AS $$
diff --git a/src/pl/plperl/sql/plperl.sql b/src/pl/plperl/sql/plperl.sql
index dc6b169464..f255eedd05 100644
--- a/src/pl/plperl/sql/plperl.sql
+++ b/src/pl/plperl/sql/plperl.sql
@@ -420,8 +420,8 @@ DO $$ use blib; $$ LANGUAGE plperl;
 DO $do$ use strict; my $name = "foo"; my $ref = $$name; $do$ LANGUAGE plperl;
 
 -- check that we can "use warnings" (in this case to turn a warn into an error)
--- yields "ERROR:  Useless use of sort in scalar context."
-DO $do$ use warnings FATAL => qw(void) ; my @y; my $x = sort @y; 1; $do$ LANGUAGE plperl;
+-- yields "ERROR:  Useless use of sort in void context."
+DO $do$ use warnings FATAL => qw(void) ; my @y; sort @y; 1; $do$ LANGUAGE plperl;
 
 -- make sure functions marked as VOID without an explicit return work
 CREATE OR REPLACE FUNCTION myfuncs() RETURNS void AS $$
