diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/logger.pl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/logger.pl b/tools/logger.pl new file mode 100644 index 00000000..1ec5441a --- /dev/null +++ b/tools/logger.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl +# logger.pl: masks long meaningless output with pretty lines of dots +# Details: 1) reads lines from STDIN and echos them on STDOUT, +# 2) print a '.' to STDERR every $N lines. +# 3) print a newline after a sequence of $C dots + +use strict; +use warnings; + +# make sure all output gets displayed immediately +$| = 1; + +# TODO: add -n and -c options w/ zero checks) +# line and column limits +my $N = 10; +my $C = 72; + +# current line and column counters +my $n = 0; +my $c = 0; + +# read all lines from STDIN +while (<STDIN>) +{ + # echo line to output + print STDOUT $_; + # only display progress every Nth step + next unless ++$n % $N; + print STDERR "."; + # wrap at column C to provide fixed-width rows of dots + print STDERR "\n" unless ++$c % $C; +} + +print STDERR "\n" |