From 74647c23b10e33a184bf448c34a7270913c353e5 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Wed, 29 Jan 2020 18:23:40 +0100 Subject: [PATCH] move subroutine sival() out of readline loop Satisfy perlcritic complaint about being nested. --- barcat | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/barcat b/barcat index 7289039..88dc55c 100755 --- a/barcat +++ b/barcat @@ -179,6 +179,16 @@ sub color { $_ = color(@_) . $_ . color(0) if defined; } +sub sival { + my $unit = int(log(abs $_[0] || 1) / log(10) - 3*($_[0] < 1) + 1e-15); + my $float = $_[0] !~ /^0*[-0-9]{1,3}$/; + sprintf('%3.*f%1s', + $float && ($unit % 3) == ($unit < 0), # tenths + $_[0] / 1000 ** int($unit/3), # number + $#{$opt{units}} * 1.5 < abs $unit ? "e$unit" : $opt{units}->[$unit/3] + ); +} + sub show_lines { state $nr = $opt{hidemin} ? $opt{hidemin} - 1 : 0; @@ -236,16 +246,6 @@ if ($opt{markers} and $size > 0) { @lines > $nr or return if $opt{hidemin}; -sub sival { - my $unit = int(log(abs $_[0] || 1) / log(10) - 3*($_[0] < 1) + 1e-15); - my $float = $_[0] !~ /^0*[-0-9]{1,3}$/; - sprintf('%3.*f%1s', - $float && ($unit % 3) == ($unit < 0), # tenths - $_[0] / 1000 ** int($unit/3), # number - $#{$opt{units}} * 1.5 < abs $unit ? "e$unit" : $opt{units}->[$unit/3] - ); -} - say( color(31), sprintf('%*s', $lenval, $minval), color(90), '-', color(36), '+', -- 2.30.0