]> git.donarmstrong.com Git - perltidy.git/commitdiff
use List::Util min and max
authorSteve Hancock <perltidy@users.sourceforge.net>
Wed, 7 Sep 2022 18:57:48 +0000 (11:57 -0700)
committerSteve Hancock <perltidy@users.sourceforge.net>
Wed, 7 Sep 2022 18:57:48 +0000 (11:57 -0700)
lib/Perl/Tidy/Formatter.pm

index 5742df636cdbf0d66d79331521c1d9ab57bae8e2..ff0da29f90c939165f79220bbdbad6ca0827dbab 100644 (file)
@@ -51,7 +51,8 @@ use constant SPACE        => q{ };
 { #<<< A non-indenting brace to contain all lexical variables
 
 use Carp;
-use English qw( -no_match_vars );
+use English    qw( -no_match_vars );
+use List::Util qw( min max );          # min, max are in Perl 5.8
 our $VERSION = '20220613.04';
 
 # The Tokenizer will be loaded with the Formatter
@@ -1232,20 +1233,6 @@ sub consecutive_nonblank_lines {
       $vao->get_cached_line_count();
 }
 
-sub max {
-    my (@vals) = @_;
-    my $max = shift @vals;
-    for (@vals) { $max = $_ > $max ? $_ : $max }
-    return $max;
-}
-
-sub min {
-    my (@vals) = @_;
-    my $min = shift @vals;
-    for (@vals) { $min = $_ < $min ? $_ : $min }
-    return $min;
-}
-
 sub split_words {
 
     # given a string containing words separated by whitespace,
@@ -10062,7 +10049,12 @@ sub clip_adjusted_levels {
     my ($self) = @_;
     my $radjusted_levels = $self->[_radjusted_levels_];
     return unless defined($radjusted_levels) && @{$radjusted_levels};
-    foreach ( @{$radjusted_levels} ) { $_ = 0 if ( $_ < 0 ) }
+    my $min = min( @{$radjusted_levels} );   # fast check for min
+    if ( $min < 0 ) {
+
+        # slow loop, but rarely needed
+        foreach ( @{$radjusted_levels} ) { $_ = 0 if ( $_ < 0 ) }
+    }
     return;
 } ## end sub clip_adjusted_levels