Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jMZLm-0006Zf-SR for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2020 15:44:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jMZLl-0001VV-HM for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2020 15:44:17 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jMZLl-0001Sk-54 for pgsql-hackers@lists.postgresql.org; Thu, 09 Apr 2020 15:44:17 +0000 Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jMZLi-0003XF-8i for pgsql-hackers@postgresql.org; Thu, 09 Apr 2020 15:44:15 +0000 Received: by mail-oi1-x236.google.com with SMTP id m14so277667oic.0 for ; Thu, 09 Apr 2020 08:44:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:autocrypt:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=7Vduy8l3RogpSJ+N9p/+hKpyiZYFRiGvuPJ7lgi/29Y=; b=R/vYw48mHnZVxtL01KizJHPf//Xx2xF5KNO/MeS/wUyfW6Bvv9N8K3saOZMzfd4kC4 /Vh/Wgai+ADr/irSrlwTOTncZU7g9NnlngfAgBJljMSY+/n6xW61ZsoGCrVrI1FiKa1z 9xaQZcgYCAQhD9UPU90IoM7V9NyXJS6IAWRkwYeSP3lU5Fo2UQPXSHXHpMX94pxwrqOO SVpxLJBU3v0s8gJ60ILSiDKeos0K1RNhZMYJlzEoCBjclCzSEa6PB7Lc+kJhbXQiKMwk pbMwAI0/HUI047G3GS7032Xr7NN4Rvptq8owTprUM6lMdylxkx6z3TApEckzUZbzXRpx pY7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:autocrypt:message-id:date :user-agent:mime-version:content-transfer-encoding:content-language; bh=7Vduy8l3RogpSJ+N9p/+hKpyiZYFRiGvuPJ7lgi/29Y=; b=kJuDI/XZoDZzQGKj7BJ4zg5Jq74LTCcvX9amCSzcCDVlQu3w3kUZF3RMlslXVtPdtM 9JxfvPk2Dva811TQcdCZm1Dp7p75qwQJxTtFT99D6L+0AfTJbU0plY2lZRclPG4ZqfpH bGWUSNkMUswrx/cNByJSrPBNgvbS6vQbwJD/Mu6R3WVYy/nWAd4SvtrcT7eMo9DnrxOD zv5tXFtTs1M2uhIJi10IiSbznuRtwYnTkmPst5LnLUlunTdHxio2fb78/fNciD7JIotU pYsDNWMKfimq/Kdbb60XNccROxTeX4JRKmHGc9UBnBzjZbySQYWySYOpFbnSXF+3rJ/k yp4Q== X-Gm-Message-State: AGi0PuZqESsGlIuFMzaMVBaCFei4fvDZhC0ENxJMI8XY2HH0XvwKzC3l WZxV2K/ldPQ3MY4eW3+g+jutPvIXKR8PUxv/MBLKLiqfwB8P3eDqN7AdmzGkOvdPXzODrkbl0wR jjDzlP6ZvHTocxp2Q7vSaq+c7ts0xmCXSSI+kpMTzkOe00+jVbg2FOI3X+ywf8WrhL/SHfvrhdv xlTsJyAersGoGGPIc= X-Google-Smtp-Source: APiQypI3vtNpAUDtU4IKqPGqFR2D8CmkoZ9PzSamNn7BRhgNY3rBmWa6Flaus42YnXVACowZhxgCFw== X-Received: by 2002:a54:4f90:: with SMTP id g16mr6584929oiy.150.1586447052970; Thu, 09 Apr 2020 08:44:12 -0700 (PDT) Received: from [192.168.10.146] (99-10-92-30.lightspeed.rlghnc.sbcglobal.net. [99.10.92.30]) by smtp.gmail.com with ESMTPSA id w13sm8320103otm.7.2020.04.09.08.44.12 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Apr 2020 08:44:12 -0700 (PDT) From: Andrew Dunstan X-Google-Original-From: Andrew Dunstan To: PostgreSQL-development Subject: cleaning perl code Autocrypt: addr=andrew.dunstan@2ndQuadrant.com; prefer-encrypt=mutual; keydata= mQENBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAG0L0FuZHJldyBEdW5zdGFuIDxhbmRyZXcuZHVuc3RhbkAybmRRdWFkcmFudC5jb20+iQFY BBMBAgBCAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ /DuBAhkBBQJd1pSYBQkSzqMsAAoJEJn6f8tZ/DuBJmEIAIVFBIC3qGqh+YTPVTkfowwxpHz0 tZSPjZ6GS/5y62kgoZrZOVXw+Rg2ceuMM3a+In/RRjTx4bembgYqRKgzXlDfiNBJeq5ioVuN H1faDKE2lm5a6QkRQ2JU6DKf60fqSJGP5LisCUr1V0wz6EnlO31ArrKtXCNB+yk0KDAS6o6I Ql4pkXpr+vq4iilwJmiJOqTBam0LmQE7ulYCCYU8Z6MkpiSl+dO7QSramcGyxauQRI3a7gcq dpo8Vrv3gFTQDeMYxk7cqZp08pIVH5XR0+LgBz4X84f59rA/VAKlC/r6CyEQk59rvDLxCMyP 2buoj51Z25N3MVghRDGcsU6mT7e5AQ0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oK Waqf+wmW4tpDe/VVcxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7 llV0xSSoFiieQBsrGvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8 BoVrRFcdzlIY/NFNhFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C 4R+M6w7o2PLGOjdZ+kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaY L++LAEOqrlvm2TvqQqZRtnEAEQEAAYkBJQQYAQIADwIbDAUCXdaUtAUJEs6jVQAKCRCZ+n/L Wfw7gQi5B/9sHbmRloZNCWWwZGm+O9iG/JGQxS0WWa4GaZqzqSTWOft2/gO0Bgag89r1djq4 PFgSZtzHvKQpqYz/7HkPrWh1jpcS83i/uYY1uyHXUUtpdEmn4buNObEtD0YNaJkGdhASsECq 6akw+u7WJYmAHs/SpR6ok6HqLw7JHDVc2h5dViLfTk0qrgDa7sq/LVMoJje5Ct/Ku3YaWAV6 YSmzoPP5BmPVFqP11OMQkCqurIu9vTLXKFWX623vCmqRDHJ6e5GCDHbH8USU+4wJBfPymZkd cA7NGm/mmWeJiWBFIDyjzYxrjku8ty9TZJVsaRXnS+OFQzXz9Eu2wTpKdHij46uY Message-ID: Date: Thu, 9 Apr 2020 11:44:11 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk We currently only run perlcritic at severity level 5, which is fairly permissive. I'd like to reduce that, ideally to, say, level 3, which is what I use for the buildfarm code. But let's start by going to severity level 4. Give this perlcriticrc, derived from the buildfarm's: # for policy descriptions see # https://metacpan.org/release/Perl-Critic severity = 4 theme = core # allow octal constants with leading zeros [-ValuesAndExpressions::ProhibitLeadingZeros] # allow assignments to %ENV and %SIG without 'local' [Variables::RequireLocalizedPunctuationVars] allow = %ENV %SIG # allow 'no warnings qw(once) [TestingAndDebugging::ProhibitNoWarnings] allow = once # allow opened files to stay open for more than 9 lines of code [-InputOutput::RequireBriefOpen] Here's a summary of the perlcritic warnings:      39 Always unpack @_ first      30 Code before warnings are enabled      12 Subroutine "new" called using indirect syntax       9 Multiple "package" declarations       9 Expression form of "grep"       7 Symbols are exported by default       5 Warnings disabled       4 Magic variable "$/" should be assigned as "local"       4 Comma used to separate statements       2 Readline inside "for" loop       2 Pragma "constant" used       2 Mixed high and low-precedence booleans       2 Don't turn off strict for large blocks of code       1 Magic variable "@a" should be assigned as "local"       1 Magic variable "$|" should be assigned as "local"       1 Magic variable "$\" should be assigned as "local"       1 Magic variable "$?" should be assigned as "local"       1 Magic variable "$," should be assigned as "local"       1 Magic variable "$"" should be assigned as "local"       1 Expression form of "map" which isn't a huge number. I'm going to start posting patches to address these issues, and when we're done we can lower the severity level and start again on the level 3s :-) cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services