Re: cleaning perl code

Noah Misch <noah@leadboat.com>

From: Noah Misch <noah@leadboat.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-04-12T07:26:32Z
Lists: pgsql-hackers
On Sat, Apr 11, 2020 at 11:14:52AM -0400, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > In summary, among those warnings, I see non-negative value in "Code before
> > warnings are enabled" only.  While we're changing this, I propose removing
> > Subroutines::RequireFinalReturn.
> 
> If it's possible to turn off just that warning, then +several.

We'd not get that warning if src/tools/perlcheck/pgperlcritic stopped enabling
it by name, so it is possible to turn off by removing lines from that config.

> It's routinely caused buildfarm failures, yet I can detect exactly
> no value in it.  If there were sufficient cross-procedural analysis
> backing it to detect whether any caller examines the subroutine's
> result value, then it'd be worth having.  But there isn't, so those
> extra returns are just pedantic verbosity.

Agreed.



Commits

  1. Stop requiring an explicit return from perl subroutines

  2. Use perl's $/ more idiomatically

  3. Use perl warnings pragma consistently