apply unadapted Conway "best practices" where useful
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 5 Feb 2011 07:32:36 +0000 (08:32 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 5 Feb 2011 07:58:56 +0000 (08:58 +0100)
Minor improvements mostly suggested by perlcritic.

git-grep-footer

index fd2afe2d29f84ae3cc256edf35c99fd4e7eaae00..92be7b1df1caec6aefaabd3973da1e72e4d1ffa4 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 use 5.010;
 use strict;
 use warnings;
@@ -31,12 +31,12 @@ my $inputstream = $opt{''} ? \*ARGV : eval {
 local $| = 1;
 local $/ = "\0";
 
-my $HEADERMATCH = qr/ [a-z]+ (?: (?:-\w+)+ | \ by ) | cc | reference /ix;
+my $HEADERMATCH = qr/ [a-z]+ (?: (?:-\w+)+ | \ by ) | cc | reference /imsx;
 
 my (%headercount, @headercache);
 
 while (readline $inputstream) {
-       s/^([0-9a-f]{4,40})\n//m;
+       s/^ ([0-9a-f]{4,40}) \n//msx;
        my $hash = $opt{hash} ? $1 : undef;
 
        # strip commit seperator
@@ -44,9 +44,9 @@ while (readline $inputstream) {
        # skip expensive checks without potential identifier
        m/:/ or next;
        # try to parse as UTF-8
-       eval { $_ = decode(utf8   => $_, Encode::FB_CROAK()) };
+       eval { $_ = decode(utf8   => $_, Encode::FB_CROAK()); return 1 }
        # if invalid, assume it's latin1
-              $_ = decode(cp1252 => $_) if $@;
+           or $_ = decode(cp1252 => $_);
 
        BLOCK:
        for (reverse split /\n\n/) {
@@ -55,14 +55,14 @@ while (readline $inputstream) {
 
                LINE:
                for (split /\n/) {
-                       next if not /\S/;
+                       next if not m/\S/;
                        my @header = m{
                                ^
                                (?<key> $HEADERMATCH)
                                : \s*
-                               (?<val> \S .+)
+                               (?<val> \S [^\n]+)
                                $
-                       }imx or do {
+                       }imsx or do {
                                $prefix++;
                                next LINE;
                        };
@@ -73,16 +73,16 @@ while (readline $inputstream) {
                                for ($header[0]) {
                                        tr/ _/-/;
 
-                                       state $BY = qr{ (?: -? b[yu] )? \Z }ix;
-                                       s{^ si (?:ge?n|n?g) (?:e?[dt])? -? (?:of+)? $BY}{Signed-off-by}ix;
-                                       s{^ ack (?:ed|de)?  $BY}{Acked-by}ix;
-                                       s{^ review (?:e?d)? $BY}{Reviewed-by}ix;
-                                       s{^ teste[dt]       $BY}{Tested-by}ix;
+                                       state $BY = qr{ (?: -? b[yu] )? \Z }imsx;
+                                       s{\A si (?:ge?n|n?g) (?:e?[dt])? -? (?:of+)? $BY}{Signed-off-by}imsx;
+                                       s{\A ack (?:ed|de)?  $BY}{Acked-by}imsx;
+                                       s{\A review (?:e?d)? $BY}{Reviewed-by}imsx;
+                                       s{\A teste[dt]       $BY}{Tested-by}imsx;
                                }
                        }
 
                        if (defined $opt{grep}) {
-                               $_ ~~ qr/$opt{grep}/i or next LINE;
+                               $_ ~~ qr/$opt{grep}/im or next LINE;
                        }
 
                        given ($opt{simplify} // 'none') {
@@ -95,7 +95,7 @@ while (readline $inputstream) {
                                        }{<...>}imsx;
                                }
                                when (['var', 'vars', '']) {
-                                       when ($header[0] =~ /[ _-] (?: by | to ) $ | ^cc$/imsx) {
+                                       when ($header[0] =~ m/[ _-] (?: by | to ) $ | ^cc$/imsx) {
                                                $header[1] = undef;
                                        }
                                        for ($header[1]) {
@@ -133,11 +133,11 @@ while (readline $inputstream) {
 
                for (@headers) {
                        my $line = $_->[2] // join(': ', @$_);
-                       $line =~ s/^/$hash / if defined $hash;
+                       $line =~ s/\A/$hash /msx if defined $hash;
 
                        if (defined $opt{min} or $opt{max} or $opt{count}) {
                                my $counter = \$headercount{ $_->[0] }->{ $_->[1] // '' };
-                               my $excess = $$counter++ - ($opt{min} // 0);
+                               my $excess = ${$counter}++ - ($opt{min} // 0);
                                next if $excess >= ($opt{max} || 1);
                                next if $excess <  0;
                                if ($opt{count}) {