From: Mischa POSLAWSKY Date: Wed, 4 Sep 2019 16:35:54 +0000 (+0200) Subject: parse options to override width X-Git-Tag: v1.00~1 X-Git-Url: http://git.shiar.nl/barcat.git/commitdiff_plain/ac80372d7df25a9f5ca154e3fb30e6544b66f7de parse options to override width --- diff --git a/graph b/graph index b53ac6a..6fa5845 100755 --- a/graph +++ b/graph @@ -3,7 +3,11 @@ use 5.014; use warnings; use List::Util qw( max sum ); -my $width = $ENV{COLUMNS} || 80; +use Getopt::Long; +GetOptions(\my %opt, + 'width|w=i', +) or exit 64; # EX_USAGE +$opt{width} ||= $ENV{COLUMNS} || 80; my @lines = readline; chomp for @lines; @@ -11,7 +15,7 @@ my @values = map { s/^\h*([0-9]*)// and $1 } @lines; my @order = sort { $b <=> $a } @values; my $lenval = 1 + int log($order[0]) / log 10; # max string length my $len = 1 + max map { length } @lines; # left padding -my $size = ($width - $lenval - $len) / $order[0]; # bar multiplication +my $size = ($opt{width} - $lenval - $len) / $order[0]; # bar multiplication sub orderpos { ($order[$_[0]] + $order[$_[0] + .5]) / 2 * $size } my @barmark;